标签: math scaling
我有一个8位无符号数,0-255。由于微控制器的限制,我需要将其缩放到0-100而不使用除8位整数运算以外的任何其他算法,包括转换,复制到其他变量等。
对我来说,这种缩放的准确方法是什么?
答案 0 :(得分:1)
您需要使用16位。
将值放在16位寄存器的高字节中:
x >> 2 + x >> 3 + x >> 6 + x >> 8
结果将在寄存器的高字节中。
仅使用8位寄存器的实现留给读者练习。