计算机组成原理 - 第 6 章 计算机的运算方法

    在计算机内部,信息是以 0 和 1 组成的各种编码的形式存在的

6.1 无符号数和有符号数

    在计算机中,参与运算的数分为两大类 :无符号数 、有符号数

6.1.1 无符号数

    计算机中的数,都存放在寄存器中,通常称 "寄存器的位数" 为 "机器字长

    无符号数,就是没有符号的数;在寄存器中的每一位都可用来存放数值(一个位,可用于保存一个二进制码元 0 或 1)

    当存放有符号数时,则需要留出位置存放符号('+' 或 '-')

    因此,当机器字长相同时,无符号数和有符号数所对应的数值范围不同;以机器字长 16 位为例,无符号数的表示范围为 0 ~ 65535 ;而有符号数的表示范围为 -32768 ~ +32767

6.1.2 有符号数

1. 机器数与真值

    对有符号数来说,机器无法识别符号的 "+" 和 "-",但由于 "+" 和 "-" 正好是两种不同的状态,如果用 "0" 表示 "+",用 "1" 表示 "-",则符号也被数字化了,并且规定将符号化的数字放在有效数字的前面,即组成了有符号数

示例:

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

    把带 "+" 或 "-" 符号的数,称为 "真值"

    一旦符号数字化后,符号和数值就形成了一种新的编码;在运算过程中,符号位能否和数值部分一起参与运算?如果参加运算,符号位又需要作哪些处理?这些问题都与符号位和数值位所构成的编码有关,这些编码就是原码 、补码 、反码 、移码

2. 原码表示法
2. 原码表示法
原码概述原码是机器数中最简单的一种表示形式,符号位 0 表示正数,符号位 1 表示负数,数值位即真值的绝对值,所以原码表示也称 "带符号的绝对值表示"

整数原码

小数原码

为了书写方便以及区分整数和小数,故规定 :

(i). 整数的符号位与数值位之间用逗号( , )隔开

(ii). 小数的符号位与数值位之间用小数点( . )隔开

示例回顾前面的 4 个数的原码分别是 0.1011 、1.1011 、0,1100 、1,1100
整数原码表示法

[ x ] = 0,x               2^n > x\geqslant 0

       = 2^n - x        0\geqslant x> -2^n

说明 :x 为真值,n 为二进制整数的位数(真值中 0 或 1 的个数)
整数原码示例

当 x = +1110 时,[ x ]原 = 0,1110

当 x = -1110 时,[ x ]原 = 2^4 - (-1110) = 1,1110

小数原码表示法

[ x ] = x           1> x\geqslant 0

       = 1 - x      0\geqslant x> -1

x 为真值
小数原码示例

当 x = 0.1101 时, [ x ]原 = 0.1101

当 x = -0.1101 时,[ x ]原 = 1 - (-0.1101) = 1.1101

小结已知真值可求原码,已知原码可求真值

真值 、原码

转换示例

例一:

当 [ x ]原 = 1.0011 (符号位是 1 ,为负数,小数点隔开为小数,用公式 [ x ]原 = 1 - x )

x = 1 - [ x ]原 = 1 - 1.0011 =  -0.0011

例二:

当 [ x ]原 = 1,1100 (符号位是 1,为负数,逗号隔开为整数,用公式 [ x ]原 = 2^n - x )

x = 2^n - [ x ]原 = 2^4 - 1,1100 = 10000 - 11100 = -1100

例三:

当 [ x ]原 = 0.1101 时 (符号位是 0,为正数,小数点隔开为小数,用公式 [ x ]原 = x )

x = 0.1101

原码中的零

当 x = 0 时

[ +0.0000 ]原 = 0.0000

[ -0.0000 ]原 = 1 - (0.0000) = 1.0000

可见,[ +0 ]原 不等于 [ -0 ]原 ,即原码中的 "零" 存在两种表示形式

原码优点表示简单明了,易于和真值转换
原码缺点使用原码进行加减运算时,带来了许多麻烦;当两个操作数符号不同且要做加法运算时,先要判断两个数绝对值大小,绝对值大的数减去绝对值小的数,结果的符号以绝对值大的数为准

3. 补码表示法
3.1 补数的概念

    在日常生活中,常会遇到 "补数" 的概念;例如,时针指向 6 点,欲使时针指向 3 点,分针可以顺时针方向转 9 圈,分针也可以逆时针方向转 3 圈,结果是一致的;假设顺时针方向转为正,逆时针方向转为负,则有

6 - 3 = 3 ,  6 + 9 = 15

    由于时钟的时针转一圈指示 12 个小时,这个 "12" 在时钟里是不被显示而自动丢失的,即 15 - 12 = 3 ,故 15 点和 3 点均显示 3 点;这样 -3 和 +9 对时钟而言,其作用是一致的;

    在数学上,称 12 为 "模" ,写作 mod 12 ,称 +9 是 -3 以 12 为模的补数,记作

3.2 补码的定义

4. 反码表示法

5. 移码表示法

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

6.2.1 定点表示

6.2.2 浮点表示

6.2.3 定点数和浮点数的比较

6.2.4 举例

6.2.5 IEEE 754 标准

6.3 定点运算

6.3.1 移位运算

6.3.2 加法与减法运算

6.3.3 乘法运算

6.3.4 除法运算

6.4 浮点四则运算

6.4.1 浮点加减运算

6.4.2 浮点乘除法运算

6.4.3 浮点运算所需的硬件配置

6.5 算术逻辑单元

6.5.1 ALU 电路

6.5.2 快速进位链

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值