Jed*_*eer 1 c 32-bit 16-bit percentage
我需要将一个数字转换为我的DAC最大值(0x0FFF)的百分比,所以我的代码就是这样:
double percent;
short pct;
percent = (0x0FFF * pct)/100;
Run Code Online (Sandbox Code Playgroud)
但我需要一个16位值发送到DAC而不是32位.将它转换为16位数的最快方法是什么?我可以把它换掉吗?
Pau*_*l R 11
没有必要使用浮点数:
uint16_t val = 0x0fffU * pct / 100U; // convert 0..100 value to 0..4095
Run Code Online (Sandbox Code Playgroud)