-
- Выпросил у внучки комп. Проверил. Без заполнения из файла, просто в дебаггере на равество данных. С Вашим амперсандом ошибалось, убрал амперсанд - ОК, как и должно быть. Вывод не соблюли инструкции или решили пофантазировать. - Олдфаг(19.12.2015 14:52,
)
- Проблема в том, что rbuf имеет тип char (signed char), и вычисление rbuf[2*i] + rbuf[2*i + 1] выполняется с учетом знака, а нужно собрать 16-ти разрядное число из двух байтов. Tech2(21 знак., 19.12.2015 15:57)
- "rbuf имеет тип char (signed char)"??? А почему объявлен как указатель? Зачем Вы запутываете простейшую ситуацию? - Олдфаг(19.12.2015 16:13,
)
- За "&" спасибо, "*" в сообщении я пропустил по невнимательности, и еще пропустил "256*". - Tech2(19.12.2015 16:25)
- Проблема в том, что ты не знаешь, что в C при вычислении всё приводится как минимум к int, в данном случае 32-разрядному. - fk0(19.12.2015 16:13)
- "rbuf имеет тип char (signed char)"??? А почему объявлен как указатель? Зачем Вы запутываете простейшую ситуацию? - Олдфаг(19.12.2015 16:13,
- Проблема в том, что rbuf имеет тип char (signed char), и вычисление rbuf[2*i] + rbuf[2*i + 1] выполняется с учетом знака, а нужно собрать 16-ти разрядное число из двух байтов. Tech2(21 знак., 19.12.2015 15:57)
- Выпросил у внучки комп. Проверил. Без заполнения из файла, просто в дебаггере на равество данных. С Вашим амперсандом ошибалось, убрал амперсанд - ОК, как и должно быть. Вывод не соблюли инструкции или решили пофантазировать. - Олдфаг(19.12.2015 14:52,