第六章计算机的运算方法(计算机组成原理)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学 软件学院 赖晓晨
1、机器数和真值
真值
机器数
带符号的数
符号数字化的数
+ 0.1011
0 1011
小数点的位置
– 0.1011
1 1011
机器数按照不同的编码格式,分小为数原点码的、位置
反码、补码、移码等类型。
+ 1100
0 1100
小数点的位置
– 1100
1 1100
小数点的位置
大连理工大学 软件学院 赖晓晨
用 小数点 将符号位
0.1100000 1.0100000
和数值部分隔开
大连理工大学 软件学院 赖晓晨
求补码的方法
定义法 (负数的补码)反码+1法(p224前10行) (负数的补码)符号位不变,数值位从左
到右依次取反,最右边的1及其后的0不变。 补码的补码为原码
大连理工大学 软件学院 赖晓晨
3、补码表示法
顺时针转3格,与逆时针 转(12-3=9)格的结果一致, 与顺时针转(12+3=15)格的结果也一致。
12是一个特殊的数字,是会被“自动丢弃” 的,这个数字实际是钟表的“模”,而时 间值需要对12求模。
3和-9这一对数,对于钟表的意义是相同的, 这一对数,互称为以12为模的补数,+3可 以用-9代替,同理-3可用+9代替。
1011000 1,0101000
大连理工大学 软件学院 赖晓晨
补码的定义
小数 [x]补 =
x 2+x
1>x ≥0
x 为真值
0 > x ≥ 1(mod 2)
如 x = + 0.1110
x = 0.1100000
[x]补 = 0.1110
[x]补 = 2 + ( 0.1100000 ) = 10.0000000
如 x = +1110
x = 1110
[x]原 = 0 , 1110
用 逗号 将符号位 和数值部分隔开
[x]原 = 24 + 1110 = 1 , 1110
大连理工大学 软件学院 赖晓晨
小数的原码定义
x
1>x≥0
[x]原 = 1–x
0≥x> 1
x 为真值
如 x = + 0.1101
x = 0.1101 x = + 0.1000000 x = 0.1000000
大连理工大学 软件学院 赖晓晨
3、补码表示法
顺时针转3格,与逆时针 从而转减可(去以一12把个-3减数=法,9)转可变格以为用的加加结法上果。这一可个致归数,纳的出补以数下来结代论替:, 1.与一个顺负时数针可转用(其1正2+的3补=1数5来)代格替的,结这果个也正补一数致可。 以用12此是负一数个加特模殊来求的得数。字,是会被“自动丢弃” 2.一的个,正这数个和数负字数互实为际补是数钟时表,的他“们的模绝”对,值而之时和 即为间模值数需。要对12求模。 3.正3和数-的9这补数一即对该数正,数对本于身钟。 表的意义是相同的, 4.互这为一补对数数,互称为一12为模的补数,+3可
计算机中参与运算的有两类数:
– 无符号数 – 有符号数
大连理工大学 软件学院 赖晓晨
1、机器数和真值
真值
带符号的数
+ 0.1011 – 0.1011
+ 1100 – 1100
机器数
符号数字化的数
0 1011
小数点的位置
1 1011
小数点的位置
0 1100 1 1100
小数点的位置
小数点的位置
2、原码表示法
符号位为0表示正数,为1表示负数,数值 部分为真值的绝对值,又称为带符号的绝 对值。
约定正数的符号位与数值位用逗号分隔, 小数的符号位与数值位用小数点分隔。
大连理工大学 软件学院 赖晓晨
整数的原码定义
整数
0,x
[x]原 = 2n x
2n > x ≥ 0 0 ≥ x > 2n
x 为真值 n 为整数的位数
[+ 0]原 = 0,0000
∴ [+ 0]原 ≠ [ 0]原
[ 0]原 = 1,0000
大连理工大学 软件学院 赖晓晨
原码表示法总结
优点:表示方法简单,直观 缺点:加减运算复杂
– 判断正负 – 确定位置 – 判断结果符号 – 电路复杂、不统一
能否把减法转换为加法呢?
大连理工大学 软件学院 赖晓晨
例 6.1 已知 [x]原 = 1.0011 求 x 解: 由定义得
– 0.0011
x = 1 [x]原 = 1 1.0011 = 0.0011
例 6.2 已知 [x]原 = 1,1100 求 x 解: 由定义得
–1100
x = 24
[x]原 = 10000
1,1100 = 1100 大连理工大学 软件学院 赖晓晨
0,x 2n+1 + x
2n > x ≥ 0 0 > x ≥ 2n(mod 2n+1)
x 为真值
n 为整数的位数(不包括符号位)
如
x = +1010
x = 1011000
[x]补 = 0,1010
[x]补 = 27+1 +( 1011000 ) = 100000000
用 逗号 将符号位 和数值部分隔开
以用-9代替,同理-3可用+9代替。
大连理工大学 软件学院 赖晓晨
看一个二进制的例子
用二进制数计算6-3的值。
6 - 3 =[[6-3]] =[[6]+[-3]] =[0,110+1,101] =[10,011] =[0,011] =+3
大连理工大学 软件学院 赖晓晨
补码的定义
整数
[x]补 =
计算机组成原理
大连理工大学 软件学院 赖晓晨
大连理工大学 软件学院 赖晓晨
第六章 计算机的运算方法
无符号数和有符号数 数的定点表示和浮点表示 定点运算 浮点四则运算 算术逻辑单元
大连理工大学 软件学院 赖晓晨
6.1 无符号数和有符号数
计算机中的数均存放在寄存器中,寄存器 的位数即机器字长。
[x]原 = 0 . 1101
用 小数点 将符号 位和数值部分隔开
[x]原 = 1 ( 0.1101) = 1 . 1101
[x]原 = 0 . 1000000
用 小数点 将符号 位和数值部分隔开
[x]原 = 1 ( 0.1000000) = 1 . 1000000
大连理工大学 软件学院 赖晓晨
原码运算举例
例 6.3 已知 [x]原 = 0.1101 求 x 解:根据 定义 ∵ [x]原 = 0.1101 ∴ x = + 0.1101
例 6.4 求 x = 0 的原码
解: 设 x = +0.0000 [+0.0000]原 = 0.0000
x = 0.0000 [ 0.0000]原 = 1.0000
Fra Baidu bibliotek
同理,对于整数
1、机器数和真值
真值
机器数
带符号的数
符号数字化的数
+ 0.1011
0 1011
小数点的位置
– 0.1011
1 1011
机器数按照不同的编码格式,分小为数原点码的、位置
反码、补码、移码等类型。
+ 1100
0 1100
小数点的位置
– 1100
1 1100
小数点的位置
大连理工大学 软件学院 赖晓晨
用 小数点 将符号位
0.1100000 1.0100000
和数值部分隔开
大连理工大学 软件学院 赖晓晨
求补码的方法
定义法 (负数的补码)反码+1法(p224前10行) (负数的补码)符号位不变,数值位从左
到右依次取反,最右边的1及其后的0不变。 补码的补码为原码
大连理工大学 软件学院 赖晓晨
3、补码表示法
顺时针转3格,与逆时针 转(12-3=9)格的结果一致, 与顺时针转(12+3=15)格的结果也一致。
12是一个特殊的数字,是会被“自动丢弃” 的,这个数字实际是钟表的“模”,而时 间值需要对12求模。
3和-9这一对数,对于钟表的意义是相同的, 这一对数,互称为以12为模的补数,+3可 以用-9代替,同理-3可用+9代替。
1011000 1,0101000
大连理工大学 软件学院 赖晓晨
补码的定义
小数 [x]补 =
x 2+x
1>x ≥0
x 为真值
0 > x ≥ 1(mod 2)
如 x = + 0.1110
x = 0.1100000
[x]补 = 0.1110
[x]补 = 2 + ( 0.1100000 ) = 10.0000000
如 x = +1110
x = 1110
[x]原 = 0 , 1110
用 逗号 将符号位 和数值部分隔开
[x]原 = 24 + 1110 = 1 , 1110
大连理工大学 软件学院 赖晓晨
小数的原码定义
x
1>x≥0
[x]原 = 1–x
0≥x> 1
x 为真值
如 x = + 0.1101
x = 0.1101 x = + 0.1000000 x = 0.1000000
大连理工大学 软件学院 赖晓晨
3、补码表示法
顺时针转3格,与逆时针 从而转减可(去以一12把个-3减数=法,9)转可变格以为用的加加结法上果。这一可个致归数,纳的出补以数下来结代论替:, 1.与一个顺负时数针可转用(其1正2+的3补=1数5来)代格替的,结这果个也正补一数致可。 以用12此是负一数个加特模殊来求的得数。字,是会被“自动丢弃” 2.一的个,正这数个和数负字数互实为际补是数钟时表,的他“们的模绝”对,值而之时和 即为间模值数需。要对12求模。 3.正3和数-的9这补数一即对该数正,数对本于身钟。 表的意义是相同的, 4.互这为一补对数数,互称为一12为模的补数,+3可
计算机中参与运算的有两类数:
– 无符号数 – 有符号数
大连理工大学 软件学院 赖晓晨
1、机器数和真值
真值
带符号的数
+ 0.1011 – 0.1011
+ 1100 – 1100
机器数
符号数字化的数
0 1011
小数点的位置
1 1011
小数点的位置
0 1100 1 1100
小数点的位置
小数点的位置
2、原码表示法
符号位为0表示正数,为1表示负数,数值 部分为真值的绝对值,又称为带符号的绝 对值。
约定正数的符号位与数值位用逗号分隔, 小数的符号位与数值位用小数点分隔。
大连理工大学 软件学院 赖晓晨
整数的原码定义
整数
0,x
[x]原 = 2n x
2n > x ≥ 0 0 ≥ x > 2n
x 为真值 n 为整数的位数
[+ 0]原 = 0,0000
∴ [+ 0]原 ≠ [ 0]原
[ 0]原 = 1,0000
大连理工大学 软件学院 赖晓晨
原码表示法总结
优点:表示方法简单,直观 缺点:加减运算复杂
– 判断正负 – 确定位置 – 判断结果符号 – 电路复杂、不统一
能否把减法转换为加法呢?
大连理工大学 软件学院 赖晓晨
例 6.1 已知 [x]原 = 1.0011 求 x 解: 由定义得
– 0.0011
x = 1 [x]原 = 1 1.0011 = 0.0011
例 6.2 已知 [x]原 = 1,1100 求 x 解: 由定义得
–1100
x = 24
[x]原 = 10000
1,1100 = 1100 大连理工大学 软件学院 赖晓晨
0,x 2n+1 + x
2n > x ≥ 0 0 > x ≥ 2n(mod 2n+1)
x 为真值
n 为整数的位数(不包括符号位)
如
x = +1010
x = 1011000
[x]补 = 0,1010
[x]补 = 27+1 +( 1011000 ) = 100000000
用 逗号 将符号位 和数值部分隔开
以用-9代替,同理-3可用+9代替。
大连理工大学 软件学院 赖晓晨
看一个二进制的例子
用二进制数计算6-3的值。
6 - 3 =[[6-3]] =[[6]+[-3]] =[0,110+1,101] =[10,011] =[0,011] =+3
大连理工大学 软件学院 赖晓晨
补码的定义
整数
[x]补 =
计算机组成原理
大连理工大学 软件学院 赖晓晨
大连理工大学 软件学院 赖晓晨
第六章 计算机的运算方法
无符号数和有符号数 数的定点表示和浮点表示 定点运算 浮点四则运算 算术逻辑单元
大连理工大学 软件学院 赖晓晨
6.1 无符号数和有符号数
计算机中的数均存放在寄存器中,寄存器 的位数即机器字长。
[x]原 = 0 . 1101
用 小数点 将符号 位和数值部分隔开
[x]原 = 1 ( 0.1101) = 1 . 1101
[x]原 = 0 . 1000000
用 小数点 将符号 位和数值部分隔开
[x]原 = 1 ( 0.1000000) = 1 . 1000000
大连理工大学 软件学院 赖晓晨
原码运算举例
例 6.3 已知 [x]原 = 0.1101 求 x 解:根据 定义 ∵ [x]原 = 0.1101 ∴ x = + 0.1101
例 6.4 求 x = 0 的原码
解: 设 x = +0.0000 [+0.0000]原 = 0.0000
x = 0.0000 [ 0.0000]原 = 1.0000
Fra Baidu bibliotek
同理,对于整数