ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1069184
FDA (14.01.2021 22:48, просмотров: 23618)
Возникла проблема с 32-битной арифметикой. Компилятор XC8 для PIC18. Контроллер подключён к импульсному выходу электросчётчика. Количество импульсов на киловатт-час задаётся программно. Допустим это 3200 имп/кВт*ч. Счётчик 32-битный. Требуется выдавать "наружу" уже пересчитанное значение с точностью до Вт*ч. И тут появляется проблема. Я не могу сделать так: (cnt * 1000) / coeff, потому что при достижении значения в 4 млн. с чем-то импульсов у меня при умножении будет 

переполнение 32-битного значения. 64-битного типа в компиляторе нет. Может к вечеру туплю, но что можно сделать в данной ситуации?