|
Модераторы: bsa |
|
Roman94 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.12.2018 Репутация: нет Всего: нет |
не работает эта часть кода, что попало копирует, как правильно сделать и вообще это можно? |
|||
|
||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
в хранилище размером 1 байт вы пишете 8 байта? Скорее всего невлезающие байты пишутся в соседние переменные
Это сообщение отредактировал(а) kapbepucm - 7.1.2019, 11:59 -------------------- (С) kapbepucm |
|||
|
||||
Roman94 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.12.2018 Репутация: нет Всего: нет |
хорошо, как исправить, что бы все работало? |
|||
|
||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Ну, зависит от желаемого результата. Например, можно st и arra сделать одного типа.
-------------------- (С) kapbepucm |
|||
|
||||
Roman94 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.12.2018 Репутация: нет Всего: нет |
А если оставить разный тип? Сейчас это непринциально почти, но хочется разобраться как это работает |
|||
|
||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Если оставить разный тип- как прикажете программе число 18446744073709551615 скопировать в область памяти, где максимальное значение подразумевается 256? Если наоборот, то скорее всего можно можно. В данном случае, как правило, С++ исполняет вашу инструкцию без нареканий, ну и коли приказано писать 8 байтов подряд- пишу 1 байт по адресу нужной переменной, а остальные 7- куда придётся и неважно, что там что то может храниться
-------------------- (С) kapbepucm |
|||
|
||||
Roman94 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.12.2018 Репутация: нет Всего: нет |
ну а если число массив чисел 323 445 654 768 разбить по байту? ну в первый записать 3, во второй 2, в третий 3 и т.д? |
|||
|
||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Нарисую, только пусть массив будет не из 512 элементов, а 4
как раз по такому принципу и копируется, только внутреннее представление числа не десятичное, по крайней мере выбранных вами типов данных Это сообщение отредактировал(а) kapbepucm - 9.1.2019, 11:01 -------------------- (С) kapbepucm |
|||
|
||||
Roman94 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.12.2018 Репутация: нет Всего: нет |
я понимаю, как работает эта функция. Неужели нельзя решить эту проблему другим способом? |
||||
|
|||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Можно, c++ не запрещает всякого рода извращения
Вот вариант, если надо в массиве из uint8_t надо хранить uint64_t (копирую пока только 4 элемента):
Это сообщение отредактировал(а) kapbepucm - 11.1.2019, 11:14 -------------------- (С) kapbepucm |
|||
|
||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |