计算机组成原理王爱英第三章运算方法和运算部件(31,2)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机学院
3.1 数据的表示方法和转换
例:3+5=8
0100(3) + 1000(5)
1110 - 11
1011(8)
6+7=13
1001(6) + 1010(7) 1 0011 + 11 1 0110(13)
计算机学院
3.1 数据的表示方法和转换
(2)格雷码(Gray Code) 方法:任何两个相邻的代码只有一个二进制位的状态不同,其
反码的定义:[X]反= X
0<=X<1
(2-2-n)+x -1<X<=0
例:X=+0.1011, [X]反=0.1011 X=-0.1011, [X]反=10100
计算机学院
3.2 带符号数的表示及加减运算
反码的特性:
(1) 反码的最高位为符号位,0为正,1为负,机器数与真值的
《计算机组成与结构》
——本科生课程教学
计算机学院
计算机组成与结构
本课程主要讲授计算机系统的硬件和软件构成方法,包括 硬件系统中运算器、控制器、存储器、输入设备和输出设 备和总线系统的构成原理等;并与当代先进的计算机技术 相结合。是计算机科学与技术本科专业核心课程。
本课程着重计算机系统组成与结构方面的教学和研究。
1 0110
计算机学院
3.1 数据的表示方法和转换
有权码的特性: ➢ 有十个不同的符号; ➢ 逢“十”进位,任何两个十进制数位相加产生10或大于10的结
果,相应的基2码相加会从最高位向左产生进位,符号十进制加 法进位规则; ➢ 任何两个相加之和等于9的十进制数位的基2码互为反码,即满 足二进制数按9互补(9’s Complement)的关系,有利于减 法处理。
m
D Di 16i in1
计算机学院
3.1 数据的表示方法和转换
各种进位计数制的共同特点: (1)每种进位计数制都有一个固定的基数J,每位可以取
J个不同值。 (2)各种进位制均逢“J”进位。 (3)每一位数i对应一个固定的Ji,Ji称为该数的“权” (4)小数点左边各位的权依次为J的正幂次方;小数点右
m
B Bi 2i in1
计算机学院
3.1 数据的表示方法和转换
(3) 八进制数: 特点:有两八不同的符号0,1,2,3,4,5,6,7;
逢“八”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 1 . 5 ) 2 8 1 6 8 3 3 2 8 7 2 3 4 8 1 4 8 0 5 8 1 6 8 2 7 8 3
加过程中给出。
计算机学院
3.1 数据的表示方法和转换
例:1+8=9(不修正) 4+9=13(+6修正,在修正过程中
产生溢出)
0001
0100
+ 1000
+ 1001
1001
1101 + 0110
1 0011
9+7=16(+6修正,
1001 + 0111
在相加过程中产生进位)
1 0000
+ 0110
任意一个二进制数C也可以表示为:
C C n 1 8 n 1 C n 2 8 n 2 C 1 8 1 C 0 8 0 C 1 8 1 C 2 8 2 C m 8 m
m
C Ci 8i in1
计算机学院
3.1 数据的表示方法和转换
(4) 十六进制数: 特点:有两十六个不同的符号0-9,A-F;
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
计算机学院
3.1 数据的表示方法和转换
2. 进位计数制的转换 (1)任意进位制数转换成十进制数 基本方法:按权位值相加。 (2)十进位制数转换成二进制数 基本方法:整数,用2去除十进制整数,每次余数即为二进制系
任意一个十进制数A,可以表示为:
A A n 1 1n 1 0 A n 2 1n 2 0 A 1 11 0 A 0 100 A 1 1 1 0 A 2 1 2 0 A m 1 m 0
m
A Ai 10i in1
计算机学院
3.1 数据的表示方法和转换
(2) 二进制数: 特点:有两个不同的符号0、1;
也有多于4位二进制码的十进制编码方案,比如用5位、7位甚 至10位等方案,有些属于无权码,有些属于有权码。
(1) 五中取二码(2-out-of-5 Code) 方法:用五位二进制码表示一个十进制数,每个代码必须含2个
“1”和3个“0”。 特点:具有一位(奇数位)校验能力。 (2) 蠕变码(Creeping Code) 方法:用五位二进制码表示一个十进制数,由一个“1”逐次移
➢ 计算机结构定义为系统程序员所能见到的计算机硬件特性; ➢ 计算机组成是指计算机硬件的具体实现。
计算机学院
第三章 运算方法和运算部件
数据的表示方法和转换 带符号数的表示方法及加减运算 二进制乘法运算 二进制除法运算 浮点数的运算方法 运算部件 数据校验码
计算机学院
3.1 数据的表示方法和转换
位扩展和紧缩而形成。 特点:具有格雷码编码规则。
计算机学院
3.1 数据的表示方法和转换
(3) 二元五进制码(Biquinary Code) 方法:用七位二进制码表示一个十进制数,每一个代码包含2
个“1”和5个“0”。 特点:一种有权码,权位分别为5043210,有一位校验能力。
(4) 独热码(One-Hot Code) 方法:用十位二进制码表示一个十进制数,每个代码必须含1
例:X=+0.1011, [X]原=01011; X=-0.1011, [X]原=1-X=1.0000-(-0.1011)=11011。
计算机学院
3.2 带符号数的表示及加减运算
原码的特性:
(1) [X]原=符号位+|X|,即原码的最高位为符号位,尾数部分为 数值位(绝对值)。
(2) 数的原码有正负零之分,[+ 0]原=000000000, [ - 0]原=100000000。
数,直到商为0为止。 小数,用2去乘十进制小数,每次所得的整数(0或1
)即为二进制系数。
计算机学院
3.1 数据的表示方法和转换
(3)十进制数转换成八进制数
基本方法:整数,用8去除十进制数整数,每次余数即为八进制 系数,直到商为0为止。
小数,用8去乘十进制小数,每次所得的整数即为八 进制系数。
(4)八进制与二进制数的互换
基本方法:每一位八进制数用相应的三位二进制表示。 每三位二进制数用相应的一位八进制数表示。(不
足三位补0,整数以小数点左一位起分,小数以小数点右一位起 分。)
计算机学院
3.1 数据的表示方法和转换
(5)十六进制数与二进制数的互换 基本方法:每一位十六进制数用相应的四位二进制表示。
每四位二进制数用相应的一位十六进制数表示。( 不足四位补0,整数以小数点左一位起分,小数以小数点右一位 起分。)
边各位的权依次为J的负幂次方。
计算机学院
3.1 数据的表示方法和转换
P.60.表3.1给出了各种进位计数制的对应关系。
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
二进制 0 1 10 11
100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
(3) 8位原码的数值范围为:[+127]原=01111111, [-127]原=11111111。
(4) 原码表示与增值转换方便,但两异号相加要做减法。
为了把减法运算转换为加法运算,提出了反码和补码。
计算机学院
3.2 带符号数的表示及加减运算
2、反码表示
反码的表示:正数的反码符号位为0,尾数用数值表示(与原 码相同);负数的反码为正数值连同符号位按位取反。
计算机学院
3.1 数据的表示方法和转换
2、十进制无权码 编码方法:表示一个十进制数的4位二进制码的每一位没有确
定的权位。 (1) 余3码(Excess-3 Code) 方法:在8421码的基础上加0011(3)构成余3码。 特点:两位十进制数相加可以按二进制相加法则进行,当和无
进位时减去3,和有进位时加上3。
计算机学院
3.1 数据的表示方法和转换
计算机学院
3.2 带符号数的表示及加减运算
一、原码、补码、反码及其运算
在正逻辑设计的计算机中,数的最高位为符号位,0为正数,1 为负数。如一字长为8位的计算机: bit7 bit6 ……..bit0
符号位 数值位(尾数)
机器数:一个包括符号位在内的数值的机内编码叫做机器 数,它是数在计算机中表示形式的统称。
一、数值数据的表示和转换 1. 进位计数制 (1)十进制数: 特点:有十个不同的符号0,1,2,…9;
逢“十”进位。 表达形式:同一个数字符号在不同的位代表的数值是不同的,如:
6 . 6 6 6 1 6 2 6 6 1 0 6 1 6 1 0 0 6 1 0 1 6 1 0 2 6 1 0 3 0
真值:机器数的数值。 例:01010111=+87, 11010111=-87
对于负数有三种表示方法:原码、反码、补码。
计算机学院
3.2 带符号数的表示及加减运算
1、原码表示
原码的表示:正数的符号位用0表示,负数的符号位用1表示, 尾数用数值表示。
原码的定义:[X]原= X 1-X
0<=X<1 -1<X<=0
个“1”和9个“0”。 特点:一种有权码,权位分别为0123456789,具有一位校验
能力,容易实现,编码能力强,在键盘和显示中得到应用。
计算机学院
3.1 数据的表示方法和转换
4、数字串在计算机内的表示与存储 字符串形式:一个字节存放一个十进制的数位或符号位。有前
分隔字符和后嵌入字串两种形式。 例如,+234,在主存中为:2B323334
计算机学院
3.1 数据的表示方法和转换
二、十进制数的编码与运算
1、十进制有权码 编码方法:用4位二进制数表示一个十进制数,每一位有确定的
权位。 (1)8421BCD码 方法:每一位十进制数用四位二进制数表示。 特点:有十个不同的符号,且逢“十”进位。(参见P.63.表
3.2) 运算结果要修正: ➢ 两个8421码数相加之和等于或小于9(1001),不修正; ➢ 相加之和在10到15之间,向高位产生进位,本位加6修正; ➢ 相加之和在16到18之间,本位加6修正,向高位产生进位在相
余三位必须有相同状态。 用四位二进制位格雷码表示十进制数的十个状态的方案很多。
(P.63.表3.3) 特点:除有十个不同的符号和逢“十”进位外,从一编码到下一
个相邻编码时,只有一位的状态变化,有利于译码,在A/D、 D/A转换电路中广泛使用。
计算机学院
3.1 数据的表示方法和转换
3、十进制数的其它编码方法
逢“二”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 1 . 1 0 ) 2 0 1 1 2 2 1 1 2 0 1 2 1 1 2 3
任意一个二进制数B也可以表示为:
B B n 1 2 n 1 B n 2 2 n 2 B 1 2 1 B 0 2 0 B 1 2 1 B 2 2 2 B m 2 m
-567,在主存中为:2D353637 前分隔字符串,符号位独占一字节,放在数字之前,其后数字
为相应的ASCII码。
计算机学院
3.1 数据的表示方法和转换
+234,在主存中为:323334 -234,在主存中为:323374 后嵌入字符串,不分配符号位,而是把它嵌入最低一位数字里 ,规则是:把负号变成40H与最低位值相加,其数字为相应的 ASCII码。 压缩字符串形式:即一个字节存放两个十进制数位。
逢“十六”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 2 A . 4 C ) 1 B 2 6 D 1 2 A 6 1 1 B 6 1 0 4 6 1 1 C 6 1 2 D 6 1 3
任意一个二进制数D也可以表示为:
D D n 1 1n 1 6 D n 2 1n 2 6 D 1 11 6 D 0 106 D 1 1 1 6 D 2 1 2 6 D m 1 m 6
3.1 数据的表示方法和转换
例:3+5=8
0100(3) + 1000(5)
1110 - 11
1011(8)
6+7=13
1001(6) + 1010(7) 1 0011 + 11 1 0110(13)
计算机学院
3.1 数据的表示方法和转换
(2)格雷码(Gray Code) 方法:任何两个相邻的代码只有一个二进制位的状态不同,其
反码的定义:[X]反= X
0<=X<1
(2-2-n)+x -1<X<=0
例:X=+0.1011, [X]反=0.1011 X=-0.1011, [X]反=10100
计算机学院
3.2 带符号数的表示及加减运算
反码的特性:
(1) 反码的最高位为符号位,0为正,1为负,机器数与真值的
《计算机组成与结构》
——本科生课程教学
计算机学院
计算机组成与结构
本课程主要讲授计算机系统的硬件和软件构成方法,包括 硬件系统中运算器、控制器、存储器、输入设备和输出设 备和总线系统的构成原理等;并与当代先进的计算机技术 相结合。是计算机科学与技术本科专业核心课程。
本课程着重计算机系统组成与结构方面的教学和研究。
1 0110
计算机学院
3.1 数据的表示方法和转换
有权码的特性: ➢ 有十个不同的符号; ➢ 逢“十”进位,任何两个十进制数位相加产生10或大于10的结
果,相应的基2码相加会从最高位向左产生进位,符号十进制加 法进位规则; ➢ 任何两个相加之和等于9的十进制数位的基2码互为反码,即满 足二进制数按9互补(9’s Complement)的关系,有利于减 法处理。
m
D Di 16i in1
计算机学院
3.1 数据的表示方法和转换
各种进位计数制的共同特点: (1)每种进位计数制都有一个固定的基数J,每位可以取
J个不同值。 (2)各种进位制均逢“J”进位。 (3)每一位数i对应一个固定的Ji,Ji称为该数的“权” (4)小数点左边各位的权依次为J的正幂次方;小数点右
m
B Bi 2i in1
计算机学院
3.1 数据的表示方法和转换
(3) 八进制数: 特点:有两八不同的符号0,1,2,3,4,5,6,7;
逢“八”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 1 . 5 ) 2 8 1 6 8 3 3 2 8 7 2 3 4 8 1 4 8 0 5 8 1 6 8 2 7 8 3
加过程中给出。
计算机学院
3.1 数据的表示方法和转换
例:1+8=9(不修正) 4+9=13(+6修正,在修正过程中
产生溢出)
0001
0100
+ 1000
+ 1001
1001
1101 + 0110
1 0011
9+7=16(+6修正,
1001 + 0111
在相加过程中产生进位)
1 0000
+ 0110
任意一个二进制数C也可以表示为:
C C n 1 8 n 1 C n 2 8 n 2 C 1 8 1 C 0 8 0 C 1 8 1 C 2 8 2 C m 8 m
m
C Ci 8i in1
计算机学院
3.1 数据的表示方法和转换
(4) 十六进制数: 特点:有两十六个不同的符号0-9,A-F;
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
计算机学院
3.1 数据的表示方法和转换
2. 进位计数制的转换 (1)任意进位制数转换成十进制数 基本方法:按权位值相加。 (2)十进位制数转换成二进制数 基本方法:整数,用2去除十进制整数,每次余数即为二进制系
任意一个十进制数A,可以表示为:
A A n 1 1n 1 0 A n 2 1n 2 0 A 1 11 0 A 0 100 A 1 1 1 0 A 2 1 2 0 A m 1 m 0
m
A Ai 10i in1
计算机学院
3.1 数据的表示方法和转换
(2) 二进制数: 特点:有两个不同的符号0、1;
也有多于4位二进制码的十进制编码方案,比如用5位、7位甚 至10位等方案,有些属于无权码,有些属于有权码。
(1) 五中取二码(2-out-of-5 Code) 方法:用五位二进制码表示一个十进制数,每个代码必须含2个
“1”和3个“0”。 特点:具有一位(奇数位)校验能力。 (2) 蠕变码(Creeping Code) 方法:用五位二进制码表示一个十进制数,由一个“1”逐次移
➢ 计算机结构定义为系统程序员所能见到的计算机硬件特性; ➢ 计算机组成是指计算机硬件的具体实现。
计算机学院
第三章 运算方法和运算部件
数据的表示方法和转换 带符号数的表示方法及加减运算 二进制乘法运算 二进制除法运算 浮点数的运算方法 运算部件 数据校验码
计算机学院
3.1 数据的表示方法和转换
位扩展和紧缩而形成。 特点:具有格雷码编码规则。
计算机学院
3.1 数据的表示方法和转换
(3) 二元五进制码(Biquinary Code) 方法:用七位二进制码表示一个十进制数,每一个代码包含2
个“1”和5个“0”。 特点:一种有权码,权位分别为5043210,有一位校验能力。
(4) 独热码(One-Hot Code) 方法:用十位二进制码表示一个十进制数,每个代码必须含1
例:X=+0.1011, [X]原=01011; X=-0.1011, [X]原=1-X=1.0000-(-0.1011)=11011。
计算机学院
3.2 带符号数的表示及加减运算
原码的特性:
(1) [X]原=符号位+|X|,即原码的最高位为符号位,尾数部分为 数值位(绝对值)。
(2) 数的原码有正负零之分,[+ 0]原=000000000, [ - 0]原=100000000。
数,直到商为0为止。 小数,用2去乘十进制小数,每次所得的整数(0或1
)即为二进制系数。
计算机学院
3.1 数据的表示方法和转换
(3)十进制数转换成八进制数
基本方法:整数,用8去除十进制数整数,每次余数即为八进制 系数,直到商为0为止。
小数,用8去乘十进制小数,每次所得的整数即为八 进制系数。
(4)八进制与二进制数的互换
基本方法:每一位八进制数用相应的三位二进制表示。 每三位二进制数用相应的一位八进制数表示。(不
足三位补0,整数以小数点左一位起分,小数以小数点右一位起 分。)
计算机学院
3.1 数据的表示方法和转换
(5)十六进制数与二进制数的互换 基本方法:每一位十六进制数用相应的四位二进制表示。
每四位二进制数用相应的一位十六进制数表示。( 不足四位补0,整数以小数点左一位起分,小数以小数点右一位 起分。)
边各位的权依次为J的负幂次方。
计算机学院
3.1 数据的表示方法和转换
P.60.表3.1给出了各种进位计数制的对应关系。
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
二进制 0 1 10 11
100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
(3) 8位原码的数值范围为:[+127]原=01111111, [-127]原=11111111。
(4) 原码表示与增值转换方便,但两异号相加要做减法。
为了把减法运算转换为加法运算,提出了反码和补码。
计算机学院
3.2 带符号数的表示及加减运算
2、反码表示
反码的表示:正数的反码符号位为0,尾数用数值表示(与原 码相同);负数的反码为正数值连同符号位按位取反。
计算机学院
3.1 数据的表示方法和转换
2、十进制无权码 编码方法:表示一个十进制数的4位二进制码的每一位没有确
定的权位。 (1) 余3码(Excess-3 Code) 方法:在8421码的基础上加0011(3)构成余3码。 特点:两位十进制数相加可以按二进制相加法则进行,当和无
进位时减去3,和有进位时加上3。
计算机学院
3.1 数据的表示方法和转换
计算机学院
3.2 带符号数的表示及加减运算
一、原码、补码、反码及其运算
在正逻辑设计的计算机中,数的最高位为符号位,0为正数,1 为负数。如一字长为8位的计算机: bit7 bit6 ……..bit0
符号位 数值位(尾数)
机器数:一个包括符号位在内的数值的机内编码叫做机器 数,它是数在计算机中表示形式的统称。
一、数值数据的表示和转换 1. 进位计数制 (1)十进制数: 特点:有十个不同的符号0,1,2,…9;
逢“十”进位。 表达形式:同一个数字符号在不同的位代表的数值是不同的,如:
6 . 6 6 6 1 6 2 6 6 1 0 6 1 6 1 0 0 6 1 0 1 6 1 0 2 6 1 0 3 0
真值:机器数的数值。 例:01010111=+87, 11010111=-87
对于负数有三种表示方法:原码、反码、补码。
计算机学院
3.2 带符号数的表示及加减运算
1、原码表示
原码的表示:正数的符号位用0表示,负数的符号位用1表示, 尾数用数值表示。
原码的定义:[X]原= X 1-X
0<=X<1 -1<X<=0
个“1”和9个“0”。 特点:一种有权码,权位分别为0123456789,具有一位校验
能力,容易实现,编码能力强,在键盘和显示中得到应用。
计算机学院
3.1 数据的表示方法和转换
4、数字串在计算机内的表示与存储 字符串形式:一个字节存放一个十进制的数位或符号位。有前
分隔字符和后嵌入字串两种形式。 例如,+234,在主存中为:2B323334
计算机学院
3.1 数据的表示方法和转换
二、十进制数的编码与运算
1、十进制有权码 编码方法:用4位二进制数表示一个十进制数,每一位有确定的
权位。 (1)8421BCD码 方法:每一位十进制数用四位二进制数表示。 特点:有十个不同的符号,且逢“十”进位。(参见P.63.表
3.2) 运算结果要修正: ➢ 两个8421码数相加之和等于或小于9(1001),不修正; ➢ 相加之和在10到15之间,向高位产生进位,本位加6修正; ➢ 相加之和在16到18之间,本位加6修正,向高位产生进位在相
余三位必须有相同状态。 用四位二进制位格雷码表示十进制数的十个状态的方案很多。
(P.63.表3.3) 特点:除有十个不同的符号和逢“十”进位外,从一编码到下一
个相邻编码时,只有一位的状态变化,有利于译码,在A/D、 D/A转换电路中广泛使用。
计算机学院
3.1 数据的表示方法和转换
3、十进制数的其它编码方法
逢“二”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 1 . 1 0 ) 2 0 1 1 2 2 1 1 2 0 1 2 1 1 2 3
任意一个二进制数B也可以表示为:
B B n 1 2 n 1 B n 2 2 n 2 B 1 2 1 B 0 2 0 B 1 2 1 B 2 2 2 B m 2 m
-567,在主存中为:2D353637 前分隔字符串,符号位独占一字节,放在数字之前,其后数字
为相应的ASCII码。
计算机学院
3.1 数据的表示方法和转换
+234,在主存中为:323334 -234,在主存中为:323374 后嵌入字符串,不分配符号位,而是把它嵌入最低一位数字里 ,规则是:把负号变成40H与最低位值相加,其数字为相应的 ASCII码。 压缩字符串形式:即一个字节存放两个十进制数位。
逢“十六”进位。 表达形式:不同数字符号在不同的位代表的数值也是不同的,如:
( 2 A . 4 C ) 1 B 2 6 D 1 2 A 6 1 1 B 6 1 0 4 6 1 1 C 6 1 2 D 6 1 3
任意一个二进制数D也可以表示为:
D D n 1 1n 1 6 D n 2 1n 2 6 D 1 11 6 D 0 106 D 1 1 1 6 D 2 1 2 6 D m 1 m 6