《深入理解计算机系统》学习笔记2

时间:2022-12-25 10:47:47

浮点数的表示方法为$V=(-1)^{s}*M*2^{E}$

$s$:符号位

$M$:尾数

$E$:阶码

比如对于32位浮点数来说,符号位用1位表示,阶码用8位表示,尾数用23位表示。

浮点数分为以下四类:

《深入理解计算机系统》学习笔记2

下面都假设阶码的位数长度为$k$,尾数的长度为$n$。实际存储的阶码的二进制值为$e=e_{k-1}e_{k-2}...e_{1}e_{0}$,存储的数的值为$f_{n-1}...f_{1}f_{0}$

(1)规格化数:规格化数阶码不全为0也不全为1.真正计算$V$ 时的 $E=e-(2^{k-1}-1)$,$M=1.f_{n-1}...f_{1}f_{0}$。

(2)非规格化数:阶码全为0,$E=1-(2^{k-1}-1)$,$M=0.f_{n-1}...f_{1}f_{0}$

下面是一个8位非负(符号位$s=0$)浮点数的示例,$k=4,n=3$

《深入理解计算机系统》学习笔记2