1、对任意一个数,都可以表示成二进制的形式。如十进制数11.625,的二进制数为1011△101。
2、定点数是指小数点在数中的位置是固定保持不变的二进制数。定点数通常把数限制在-1~1之间,把小数点规定在符号位和数据位之间。N bit表示正小数ɑ,则小数ɑ的范围是
3、定点数的三种表示方式:原码,反码,补码。
(1)原码
Matlab中dec2bin将十进制数转换成二进制数,而得到的二进制数的小数点在最后面,转换成十进制后是整数。为了将绝对值小于1的数也转换成二进制,需乘以2^(N-1),并取四舍五入的操作(归一化是将数据全部限制在-1~1之间;此处操作类似于归一化的逆向)。量化为Nbit,最高位符号位,小数点,N-1个数据位。
dec2bin(round(abs(x)*2^(N-1)) + (x<0)*2^(N-1),N);
(2) 反码:整数的原码,反码,补码都是同一个。负数的反码为除符号位以为,其余数据位取反。
(3) 补码:负数的补码为反码加1;补码最重要的性质是将减法用加法形式实现。
dec2bin(round(x*2^(N-1)) + (x<0