在一些数据处理过程中,需要将一组十进制小数转换成二进制数存储或者计算,这种操作在FPGA的使用中会经常遇到。本文分析了十进制小数转换成二进制数的方法。
1.N位二进制数的取值范围
N位无符号型(unsigned)取值范围:2^N - 1 ~ 0;(可以表示2^N个数)
N位有符号型(signed)取值范围:-2^(N-1) ~ 2^(N-1) - 1;(可以表示2^N个数)
举例:N=10
无符号取值范围:1023~0;(2^10 - 1~0)
有符号取值范围:-512 ~ 511;(-2^9 ~ 2^9 - 1)
2.十进制有符号小数量化为二进制数
第一步:确认需要量化的二进制数的位数;
第二步:将一组十进制数据进行归一化处理;
第三步:将归一化后的数据扩大2^(N-1) - 1