|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
|
Как в BYTE записать DWORD04.10.2016, 13:04. Показов 4715. Ответов 15
Метки нет (Все метки)
Здравствуйте! Подскажите, пожалуйста, как в BYTE *b; b = new BYTE[20]; записать с byte[5] размером 4 байта DWORD значение
0
|
|
| 04.10.2016, 13:04 | |
|
Ответы с готовыми решениями:
15
Из DWORD в BYTE
Как записать и прочитать int (4 byte) из char[] |
|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
|
| 04.10.2016, 13:17 [ТС] | |
|
0
|
|
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
||||||
| 04.10.2016, 13:18 | ||||||
1
|
||||||
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
| 04.10.2016, 13:24 | |
Сообщение было отмечено Helldrg как решение
Решение
Helldrg, (void*)bytes[5] лучше заменить на (void*)(b+5)
1
|
|
|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
||
| 04.10.2016, 13:34 [ТС] | ||
|
ture Спасибо, разобрался! А не подскажете как байты в обратном порядке записать?
0
|
||
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
| 04.10.2016, 14:35 | |
|
Helldrg, есть переменные, которые умещаются в одном байте (к примеру, char).
И байт является единицей адресации в памяти, т.е. у байта есть адрес, а у одного бита нет (вообще нельзя указать адрес и придется считывать целый байт, содержащий нужные биты). Если переменная состоит из 4 байт (двойное слово или int) или просто не из одного байта, а из двух, четырех, восьми и т.п., то в памяти компьютера x86 указывается адрес его первого байта и это самый младший байт, а остальные байты следуют в памяти дальше (и без пропусков). Это называется хранение "от младшего к старшему". К примеру: 31793204 - число состоящее из 4 байт - 01 e5 20 34. В памяти они будут записаны так e5 20 34 01. И когда Вы записываете dword в byte ничего исключительного не происходит, если имеется еще 3 байта (в Вашем массиве следующих за тем, в который Вы пишите). При передаче по сети принято использовать для ip адреса "Порядок от старшего к младшему" (т.е. 31793204=01 e5 20 34 = 1.229.32.52). Здесь придется преобразовать наше число, которое хранится "от младшего к старшему" в порядок "от старшего к младшему" функцией htonl. Добавлено через 3 минуты Переменные - это память (ну на всякий случай сказал)
1
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
| 04.10.2016, 14:48 | |
|
0
|
|
|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
|
| 04.10.2016, 14:50 [ТС] | |
|
nd2
Опечатался наверно)
0
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
| 04.10.2016, 14:52 | |
|
Наверное.
0
|
|
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
| 04.10.2016, 14:56 | |
|
nd2, 01 e5 20 34 -> 34 20 e5 01
(отвлекся и забыл) Добавлено через 2 минуты кстати это только в памяти, а в регистрах все в правильном порядке, поэтому все сдвиговые операции не шалят
0
|
|
|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
||||||
| 04.10.2016, 15:00 [ТС] | ||||||
|
ture
Я совсем недавно перешел на VS15 и не могу подключить winsock для функции htonl. Я возьму на заметку на будущее и потом попробую таким способом реализовать, а пока что я сделал так =)
ture Кстати, может вы знаете: E9 088A0000 в память пишется так(e9 это безусловный переход, а остальное адрес), а почему в opcode тогда это дело выглядит так: - jmp 088A8A0D
0
|
||||||
|
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
| 04.10.2016, 15:08 | |
|
Helldrg, ок. Это преобразование может не понадобиться в дальнейшем (но лучше помнить о порядке хранения байт)
Добавлено через 5 минут Helldrg, адрес состоит из начала сегмента и смещения (зависит от модели памяти). Я пока ассемблер только начал грызть и начал с модели flat.
1
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
||
| 04.10.2016, 15:08 | ||
|
«Упаковать» четыре символа в беззнаковое целое Наверное, и данную задачу можно решить таким способом?
1
|
||
|
29 / 58 / 6
Регистрация: 10.01.2011
Сообщений: 1,231
|
|
| 04.10.2016, 15:10 [ТС] | |
|
ture
Да я знал, когда то... =) nd2 Если DWORD поделить на байты то думаю да
0
|
|
| 04.10.2016, 15:10 | |
|
Помогаю со студенческими работами здесь
16
Type record и различные типы Byte Word DWORD Как записать DWORD через QSettings в реестр Нельзя преобразовать тип function(a: byte;b: byte): byte к integer (Списки) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|