表示形式 N = S * 2E
任何一个二进制数N都可以表示为:N = S * 2E
即:浮点数 = 尾数 * 2 阶码
如下图所示:
阶码 E
E为数N的阶码,2为阶码的基数(R,通常取2,8,16)
是二进制整数
指出小数点在数据中的位置,决定了浮点数的大小范围
阶码是移码
移码
对于正数,符号位为“1”,其余位不变
如+1110001的阶码为11110001对于负数,符号位为“0”,其余位取反,最后加“1”(补码的基础上符号位为0)
如–1110001的补码为1001111,阶码为0000111,
尾数 S
S为数N的尾数
是二进制小数(定点小数形式)
决定了表示精度,即有效数字的位数
尾数是补码
补码
对于正数,补码为本身
如+1110001的补码为011110001对于负数,符号位为1,其余取反加一
如–1110001的补码为1001111
数据范围
在数轴上表示如下图
例题
将阶码与尾数代入上述公式中计算即可
例1
浮点表示法,1位阶符,2位阶码,1位尾符,4位尾数,尾数没有规格化处理的情况也考虑在内,能表示的范围:-23 ~ (1 - 2-4) * 23
例2
浮点表示法,1位阶符,6位阶码,1位尾符,8位尾数,尾数没有规格化处理的情况也考虑在内,能表示的范围:-263 ~ (1 - 2-8) * 263
例3
浮点数表示方式同例2,它所能表示的最接近0的负数是:-2-72最接近0的负数,即最大的负数
由上述公式可知,阶码 = 6,尾数 = 8
由公式进行计算:
-2阶码=-26 = -64
-2-尾数=-2-8
最大的负数为:-2-8 X 2-64= -2-72