Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Среда
23 апреля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
639581
Топик полностью
fk0
легенда
(19.12.2015 16:13, просмотров: 48)
ответил
Tech2
на
Проблема в том, что rbuf имеет тип char (signed char), и вычисление rbuf[2*i] + rbuf[2*i + 1] выполняется с учетом знака, а нужно собрать 16-ти разрядное число из двух байтов.
Проблема в том, что ты не знаешь, что в C при вычислении всё приводится как минимум к int, в данном случае 32-разрядному.
[ZX]
Ответить