реклама на сайте
подробности

 
 
> Поясните где неправ, при использовании поразрядного сдвига
kolobochishe
сообщение Feb 16 2012, 11:55
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Восстанавливаю из побайтового массива 4-х разрядную переменную

Это работает

Код
RS_Info->TotalAmp = DataArr[10032]*0x1000000 +
                      DataArr[10033]*0x10000 +
                      DataArr[10034]*0x100  +
                      DataArr[10035];


Это не работает

Код
RS_Info->TotalAmp = ((unsigned int)DataArr[10032])<<24 +
                                 ((unsigned int)DataArr[10033])<<16 +
                                 ((unsigned int)DataArr[10034])<<8 +
                                 ((unsigned int)DataArr[10035]);


Вопрос: Почему второй вариант оставляет 0 ?
RS_Info - указатель на структуру. TotalAmp - unsigned int поле.

Сообщение отредактировал kolobochishe - Feb 16 2012, 11:58
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 03:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01599 секунд с 7
ELECTRONIX ©2004-2016