ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
808770
Peter_M (11.01.2018 13:01, просмотров: 574)
Как проще отобразить одно множество чисел в другое? (задача масштабирования) Первое множество - числа от 0 до 900, второе множество - числа от 0 до 5000. Оба множества представлены целочисленными беззнаковыми переменными. Нужно отображать множество1 в множество2, это фактически умножение чисел из множества1 на число 5,555555(5). Например, число 9 из множенства1 соответствует числу 50 по такому расчету 9*(5000/900) = 9*5,5555(5) = 50. Подскажите, как это сделать используя только целые числа (unsigned int) на языке С? Сейчас делаю коряво: чтобы учесть дробную часть перевожу 5,5555 в число с фиксированной запятой Q15.16, перемножаю, и потом возвращаю обратно. Может быть есть способ получше? Спасибо!