浮点数的表示
解:① 0.15625转换成二进制值为0.00101,
在IEEE754中规格化表示为1.01×2-3, e=127-3=124,
IEEE754编码为:0 01111100 01000000000000000000000
②-5转换成二进制值为:-101
在IEEE754中规格化表示为1.01×22, e=127+2=129, IEEE754编码为:1 10000001 01000000000000000000000
阶码用移码表示为: 0100 101101
“Father” of the IEEE 754 standard
直到80年代初,各个机器内部的浮点数表示格式还没有统一 因而相互不兼容,机器之间传送数据时,带来麻烦 1970年代后期, IEEE成立委员会着手制定浮点数标准 1985年完成浮点数标准IEEE754的制定 现在所有计算机都采用IEEE754来表示浮点数 This standard was primarily the work of one person, UC Berkeley math professor William Kahan.
双精度格式: 64位,符号位1位, E=11位, M=52位
1 E 11 M 尾数 52
S符号位
阶码
64位双精度形式
IEEE754标准浮点数表示
阶码用移码、尾数用原码,因为规格化原码尾数的最高为恒为1,为增加一 位的精度,该1在尾数中不表示出来,计算时在尾数前面自动加1. 1 8 23 E 1.M ( 原 码 规 格 化 ) 尾数 32位单精度形式
例
将下列十进制数表示成浮点规格化数,阶码4位(含符
号),分别用补码和移码表示;尾数6位(含符号),用补码 表示(要求规格化)。 ① 19/512 ② -19/512
解: ① 19/512=10011×2-9=0.10011×2-4 阶码用补码表示为: 1100 010011
阶码用移码表示为: 0100 010011 ② -19/512=-10011×2-9=-0.10011×2-4 阶码用补码表示为: 1100 101101
相当于此时移码 的计算不是加 128,而是加 127
IEEE754标准浮点数表示
几个特殊数值:
当E的二进制位全为1时为特殊数值:此时,
若M的二进制位全为0,则n表示无穷大。若S为1则为负 无穷大,若S为0则为正无穷大; 若M的二进制位不全为0时,表示NaN(Not a Number), 表示这不是一个合法实数。
即:41100000H
解答(2)
5/32= (-1)0×0101×2-5
=(-1)0×2-5×22×1.01
=(-1)0×2124-127 ×1.01
二进制代码为: 0 01111100 01000000000000000000000 即:3E200000H
浮点数表示
定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有 限; 定点表示的精度有限; 机器中,常用定点数表示纯整数和纯小数,表示即 有整数又有小数时比较麻烦。
浮点数的表示格式
对任意一个二进制数N,总可以写成: N= 2E×M ,式中: E为数N的阶码,M为数N的尾数; 可见浮点数是由阶码和尾数两个部分组成的。
S符号位
阶码
即,如果要表示一个数,需要把该数写成: (-1)s × 1.M × 2(x)真值 而规格化浮点数形式是: (-1)s × 0.1M ×2(128+x)移码 = (-1)s × 1.M × 2(127+x)移码
单精度数所表示的数值为 (-1)s × 1.M × 2e-127。 双精度数所表示的数值为 (-1)s × 1.M × 2e-1023。 其中: s=0表示正数,s=1表示负数;
IEEE754标准浮点数表示
例 将十进制数9和5/32转换为IEEE754标准的单精度数, 并用8位十六进 制表示
解答(1)
9= (-1)0×1001=(-1)0×23 ×1.001 =(-1)0×2130-127 ×1.001
二进制代码为:
0 10000010
00100000000000000000000
E为全0时:M全为0时,表示机器0;M不全为0时, 表示非规格化的数。 单精度数e的取值为1~254(8位表示),M为23位, 共32位;双精度数e的取值为1~2046(11位表示), M为52位,共64位。
IEEE754标准浮点数表示
例 写出下列十进制数据的IEEE754编码 ① 0.15625 ②-5
/~wkahan/ ieee754status/754story.html
Prof. William Kahan
IEEE754标准浮点数表示
单精度格式: 32位, 符号位1位,阶码 E=8位, 尾数 M=23位
1 E 8 M 尾数 23
S符号位
阶码 32位单精度形式
浮点数在计算机中的表示格式如下:
MS E 数符 阶码 定点整数移码表示
或
Байду номын сангаас
M 尾数值 定点小数补码表示
ES E MS M 阶符 阶码 数符 尾数值 定点整数补码表示 定点小数补码表示
浮点数的表示格式
E 阶码 Es Ek-1 … E1E0 Ms Mn-1
阶 符 阶码的 数值部分 数 符 小数点位置
M 尾数
…
M1 M0
尾数的数值部分
Ms n k Es 和 k
代表浮点数的符号 其位数反映浮点数的精度 其位数反映浮点数的表示范围 共同表示小数点的实际位置
规格化
同一个浮点数表示不唯一,如:
1.11 × 20, 0.111 × 21
①原码规格化后的尾数 正数为 0.1×…×的形式
负数为 1.1×…×的形式
②补码规格化后的尾数 正数为 0.1×…×的形式 负数为 1.0×…×的形式