浮点数的定点化 FPGA
浮点数:
简单来说,就是小数点的位置不是固定的
定点数:
简单来说,小数点的位置是固定的,也就是整数位宽与小数的位宽是固定的
定点化的过程:
- 第一步:
确定好整数与小数的位宽,例如,整数3位,小数12位,符号位1位 - 第二步:
确定定点数最大值与最小值,用第一步的例子,最大值为32767,最小值为-32768
(整数位+小数位一起表示的最大最小值) - 第三步:
将浮点数定点化,例如将3.1415926转化为定点数
3.1415926/(8/(32768))=12867.9632896≈12867
12867就可以用于FPGA处理的定点数
注:
1).其中8为3位整数,12位小数能表示最大的实际值。
即3位整数最大表示7,加上12位小数为最大值接近1,所以最大值整数+小数为8。
2) 32768为2的15(3+12位)次方,8/32768为精度,即将8分成32768份,令△=8/32768
3) 3.1415926/(8/(32768))即为3.1415926有多少个△
4)浮点数定点化有一定的误差