组原 之 数字

来源:互联网 发布:淘宝评价了还能退款吗 编辑:程序博客网 时间:2024/04/30 09:50

1.“数”概念理解

  机器数 把符号”数字化”的数称为机器数,即 0 代表正, 1 代表负

  真值  把带”+” 或 “-“符号的数称为真值

  原码 反码 补码则是机器数的一种表示方式


                          表中是8位机器字长

        图1

                                    注:补码对应的真值是补码取反加一后,再得

1.1 重点知识点

  (1)对于同一个真数,补码和移码只差一个符号位

  (2)用不同的机器数表示±0时,其形式是不同的

      原: +0 != -0

      补: +0 == -0

      反: +0 != -0

      移: +0 == -0

  (3)原码、补码和反码既可以表示小数,也可以表示整数。

  (4)①移码只能表示整数,②用它表示浮点数的阶码时,能方便地判断阶码的大小,③移码和补码只差一个符号位

  (5)[x] = 2ⁿ + x   (2ⁿ > x >= -2ⁿ)  n为整数的位数

        图2

2 数的定点表示和浮点表示

2.1 定点数

直接上图

        图3

2.2 浮点数

2.2.1规格化

规格化有补码或者原码的规格化

(1)原码规格化后 正数为0.1××…×的形式。

         负数为1.1××…×的形式

(2)补码规格化后 正数为0.1××…×的形式。

         负数为1.0××…×的形式。

  当浮点数尾数的基值为2时。原码规格化数的尾数最高位一定是1,补码规格化数尾数的最高位一定与尾数的符号位相反。基数不同,浮点数的规格化形式不同。当基数为4时,规格化形式尾数最高2位不全为0;当基数为8时,规格化形式尾数最高3位不全为0。

浮点数的规格化,尾数(s)要满足: -<= s < 1/2 或 1/2 <= s < 1

注意:-0.5的补码1.1 需要向左规格化 变成了1.0 看上去是丢失了最高位 实际上CPU并没有丢弃只是把最高位存到另一个寄存器去了只是计算时由于规定位数 所以丢弃了而已

下面上两张图便于记忆

图4
图5

2.2.2 IEEE 754标准

先上两图

图6

图7

  (1)阶码用移码表示,阶码的真值都被加上一个常数(偏移量),如短实数、长实数、和临时实数的偏移量用十六进制数表示分别为:7FH 3FFH 和 3FFFH( 目的:采用移码的方式来表示正负指数)

  (2)尾数部分通常都是规格化表示,即非“0”的有效位最高位总是“1”,但在IEEE标准中,有效位呈如下形式

      1.ffff““ffff

  (3)在实际表示中,对短实数和长实数,这个整数位的1省略,称为隐藏位;对于临时实数不采用隐藏位方案

  (4)阶码只能表示1~254

详情 传送门:http://blog.csdn.net/fanfan4569/article/details/52673388

1 0
原创粉丝点击