ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
12124
µ (27.07.2004 22:54, просмотров: 71677)
Вопросы по Си сюда можно засылать? :-) Есть вопрос. Как преобразовать два байта в целое со знаком? Суть такая. Дивайс мне выдает в комп по УАРТу пакет. В нем лежат данные по 2 байта. Некоторая пара данных -- это 16 бит целое со знаком. Но вот незадача - в компутере целое - это аж 32 бита. При простой комбинации
result = low_byte | (high_byte << 8);
Я не получаю корректное заполнение знаком всех старших разрядов (в старших 2х байтах). Вариант с умножением числа на 256 вместо сдвига на 8 тоже не катит. Есть ли в Сях/C++ нативный метод это сделать быстро и без лишних телодвижений?