存储实数–定点表示法
- 实数的定义:实数是带有整数部分和小数部分的数字
- 定点表示法不合适的情况
存储实数-浮点表示法
- 用于维持正确度和精度的解决方法是使用浮点表示法,该表示法允许小数点浮动:我们可以在小数点的左右又不同数量的数码。使用这种方法极大的增加了可存储的实数的范围:带有很大的整数部分或者很小的小数部分的实数可以存储内存中。在浮点表示法中,无论是十进制还是二进制,一个数字可有3部分组成,第一部分是符号,可正可负,第二部分显示小数点应该左右移动构成实际数字的位移量。第三部分是小数点位置固定的定点表示法。
- 浮点表示法在科学中表示很小或者很大的十进制数。在称作科学技术法的表示法中,定点部分在小数点左边只有一个数码而且位移量是10的幂次。
- 浮点表示法的规范化
- 存储实数-符号、指数和尾数
存储实数–余码系统
-
定义
尾数可以作为无符号数来存储。指数(即显示多少位小数点应该左移或者右移的幂次)是有符号的数。尽管这可以用二进制补码 表示法来存储,但被一种称为余码系统的新的表示法取而代之。在该余码系统中,正的和负的整数都可以作为无符号数存储。为 了表示正的或负的整数,一个正整数(称为一个偏移量)加到每个数字中,将他们统一的移到非负的一边。找个偏移量的值是 2^(m-1)-1,m是内存单元存储指数的大小。
-
例:
数,当我们对这些整数进行比价或者运算的时候不需要考虑符号。对于4位的存储单元,如我们希望的那样,偏移量是2的4-1次方-1=7
-
余码系统的单精度
IEEE标准定义了几种存储浮点数的标准。一般讨论的就是单精度和双精度。单精度数格式采用总共32位来存储一个浮点表示法 的实数。符号占1位(0为正,1负),指数占用8位(使用偏移量127),尾数使用23位(无符号数)。该标准又是称为余127码。 因为偏移量是127。
-
余码的双精度
双精度格式采用总共64位来存储一个浮点表示法的实数。符号占用1位(0为正,1为负),指数占用11位(使用偏移量1023), 尾数使用52位。该标准有时称为余1023码,因为偏移量是1023。
- 两种IEEE浮点标准的规格比较
存储实数–余码系统实数的存储
-
一个实数存储为IEEE标准浮点数的步骤
1.在s中存储符号位(0或者1) 2.将数字转化为二进制 3.规范化 4.找到E和M的值 5.连接S、E和M。
-
例子
-
实数的还原
1.找到S、E和M的值 2.如果S=0,将符号设为正号,否则设为负号 3.找到位移量(E-127) 4.对尾数去规范化 5.将去规范化的数字变为二进制以求出绝对值 6.加上符号
-
例子