|
Модераторы: Daevaorn |
|
kurlyak |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 217 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
привет народ. есть такой код - в массив чисел BYTE загружаются байты (для примера произвольные числа), и мне надо взять ячейку из массива байт и след. три ячейки вместе с этой преобразовать в INT (четыре байта размер). я написал такой код но он не работает. фактически мне надо 4 - ре последовательных байта из массива BYTE преобразовать в значение INT. кто знает как?
Это сообщение отредактировал(а) kurlyak - 29.7.2017, 17:50 |
|||
|
||||
borisbn |
|
||||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
1) Сдвигать надо не на 1,2 и 3, а на 8, 16 и 24
2) В my_val надо не присваивать очередной байт, а делать побитовое ИЛИ |
Однако, таким образом Вы получите INT в Big Endian. Чтобы получить Little Endian, нужно помещать байты в обратном порядке:
А можно ещё сделать так:
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
volatile |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Всё верно небольшая описка только
и сдвигать каждый раз на 8. |
||||
|
|||||
borisbn |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
volatile, Вы, как всегда, правы (посыпая голову пеплом)
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
kurlyak |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 217 Регистрация: 7.11.2007 Репутация: нет Всего: 3 |
спасибо огромное. разобрался.
|
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |