计组-二进制数与运算

目录

一、计算机中的数值

1.1 有符号数

1.2 定点数与浮点数 

1.3 IEEE 754 标准

二、 定点运算

2.1 移位运算

2.2 加减法运算

2.3 乘法运算

2.4 除法运算

三、浮点四则运算

四、算术逻辑单元

4.1 ALU电路

4.2 快速进位链 

五、二进制校验

5.1 原理

5.2 奇偶检验

5.3 汉明码


一、计算机中的数值

1.1 有符号数

        与无符号数 (即没有符号的数) 不同, 区分正负;最高位用"0"表示正, "1" 表示负号。

        机器数: 把符号"数字化"的数称为机器数。

        真值: 带 "+" 或 "-" 符号的数称为真值。

        原码: 符号位"0"表示正数, "1"表示负数。数值位即真值的绝对值。 

        反码: 通常用来作为原码求补码, 或补码求原码的中间过渡。正数反码是其正数本身。

        补码: 可以将减法操作化作加法操作, 即通过用负数的正补数来代替, 如: 负数加上它的模(如时钟在模12的情况下,  加-3等价于加9)。

        正数与负数互为补数时, 其绝对值之和为模数。整数的补数为正数本身。

        对于二进制数, 补码可以看作对其原码除符号位外, 每位求反, 末位加1。

各类机器数真值范围图:

        移码: 针对补码无法直接比较大小而引出的一种表示法, 即对补码加上一个2^{n} , 即将最高位符号位取反。

1.2 定点数与浮点数 

        在计算机中, 小数点不用专门的器件表示, 而是按约定的方式标出, 即定点表示法浮点表示法

        定点表示法: 小数点位于数符和第一数值之间时, 机器内的数为纯小数; 当小数点位于数值位之后时, 机器内的数为纯整数

定点数示意图:

        浮点表示: 小数点位置可以浮动的数。位数相同时,表示数值的范围比定点数大。将尾数最高位为1的浮点数称为规格化数, 此时精度最高。尾数是小数, 其位数n反映了浮点数的精度。

浮点数形式示意图:

 

举例:

 浮点数的表示范围:

1.3 IEEE 754 标准

        现代计算机中, 浮点数一般采用IEEE制定的国际标。阶码用移码表示, 即加上一个偏移量,如 01111111(7FH); 尾数部分通常用规划表示, 最高位总是1。在下图中, 指数部分\即阶码, 包含阶符。

表示形式示意图:

二、 定点运算

2.1 移位运算

        通过移位运算与加减法运算可实现乘除运算。

算术移位规则:

2.2 加减法运算

        现代计算机中都采用补码做加减法运算。

基本公式:

        溢出判断: 用一位符号判断溢出, 两个符号相同, 结果与原操作数符号不同, 即为溢出 (加法中, 异号相加减不会溢出) 。

2.3 乘法运算

        由笔算乘法规律可得, 乘法可由移位运算配合加法运算实现。

步骤:

        1) 由乘数的末位值确定被乘数是否与原部分积相加, 然后右移一位, 形成新的部分积, 同时乘数也右移一位, 空出最高位放部分积的最低位。

        2) 每次做加法时, 被乘数仅仅与原部分积的高位相加, 其低位被移至乘数所空出的高位位置。

示例图:

2.4 除法运算

        由笔算乘法规律可得, 除法可由移位运算配合减法运算实现。实现除法运算时, 避免除数为0或者被除数为0。前者结果无限大, 后者结果总是0。

        恢复余数法: 相减后, 当余数为负时, 需要加上除数, 将其恢复成原来的余数。

示例图:

        加减交替法: 可以认为是恢复余数法的一种改进算法。设余数为R, 除数为y, 则:

                1) R>0时, 上商"1", 再2R-y;

                2) R<0时, 上商"0", 先R+y, 再左移一位-y, 即2(R+y)-y=2R+y。

示意图:

三、浮点四则运算

运算步骤:

        1) 对阶, 使两数的小数点位置对齐, 按照小阶向大阶看齐的原则。

        2) 尾数运算, 将对阶后的两尾数按定点运算规则运算

        3) 规格化, 为增加有效数字的位数, 提高运算精度, 必须将计算结果的尾数规格化, 尾数定点运算的溢出不算溢出, 右规即可。特别地, 补码形式的 -\frac{1}{2} 不算规格化数, -1的补码为规格化数。

        4) 舍入, 为提高精度, 考虑尾数右移丢失的数值位 (类比十进制的四舍五入)

        5) 溢出判断, 即判断结果是否溢出

四、算术逻辑单元

4.1 ALU电路

        如下图中Ki的不同取值决定ALU做不同的算术运算或逻辑运算。

ALU框图:

4.2 快速进位链 

并行加法器图:

串行进位链图:

        并行进位链: 将n位全加器分成若干小组, 小组内的进位同时产生, 小组之间采用串行进位。

并行进位表达式:

四位一组并行进位链:

单重分组跳跃进位图:

        双重分组跳跃进位: 将n为全加器分成若干大组, 每个大组又包含若干小组, 大组内所包含的各个小组的最高位进位同时产生, 大组与大组间采用串行进位。

双重并行进位链图:

以第8小组为例:

第二大组的各个小组最高进位同时产生的表达式原理:

大组内各小组最高位进位线路 (以第二组为例):

五、二进制校验

5.1 原理

        编码的检测能力与纠错能力与编码的最小距离有关。

        编码的最小距离: 任意两组合法代码之间二进制位数的最小差异。

示例图:

公式:

5.2 奇偶检验

        在奇偶校验中,每个数据字节都会增加一个额外的位,称为校验位。校验位被设置为使得每个字节中“1”的位数(为奇数(或偶数)。

分组的奇偶检验示例图:

由第图中第三部分可知, 若数据出错, 分组的奇偶校验可知是前半段亦或后半段出错。

5.3 汉明码

        汉明码的检测位置位于2的整数次方的位置, 如1, 2, 4 ,8。需要添加的检测位为:2^{k}\geqslant n+k+1

汉明编码原理图:

示例图:

汉明码的纠错过程:

 示例图:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值