大学计算机第1章 1.8 数制机器转换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9/70
【例1】将二进制数100101101.1011转换成十六进制数
(0001 0010 1101.1011 )B =(12D.B)H 0001 =(12D.B) 12D.B
1 2 D B
【例2】将二进制数100101101.1011转换成八进制数
100 =(455.54 00) (100 101 101.101 100)B=(455.54)O 455.54)
数码处于不同位置代表不同数值。
如:301.6876
3×102+0×101+1×100+6×10-1+8×10-2+7×10-3+6×10-4
将此式称为按权展开表达式。 将此式称为按权展开表达式。 按权展开表达式
2/70
= = = =
• R进制计数制 进制计数制
任意R进制计数制同样有基数R 位权R 任意R进制计数制同样有基数R、位权Ri和按权展开 的表达式。 可以是任意正整数。 的表达式。R可以是任意正整数。 数值的按权展开 :(an-1an-2……a1a0 .a-1a-2……a-m) a a = an-1×Rn-1+an-2×Rn-2+……+a1×R1+a0+a-1×R-1+a-2×R-2+ +a
-(215-1)≤N≤(215-1),即 -32767≤N≤32767;
能够存储定点小数N的范围是:
-(1-2-15)≤N≤(1-2-15), 即-0.999969482421875≤N≤0.999969482421875。
13/70
浮点数表示方法
任何R进制数都可以表示成:N=±S×R± j :
数符 尾数 阶符 阶码
17/70
逻辑运算
逻辑值用于判断某个条件成立与否,成立为1(真 逻辑值用于判断某个条件成立与否,成立为1(真), 1( 反之为0(假)。 反之为0(假 0( 逻辑与运算 逻辑或运算 逻辑非运算
A 0 0 1 1 B 0 1 0 1
用“×”、“∧”或“and 表示 、 ∧ 或 and”表示 用“+”、“∨”或“or 表示 、 ∨ 或 or”表示 not”表示 用“-” 或“not 表示
=+0.35621 0.35621× 如:十进制数 356.21 =+0.35621×10+3 =+35621×10-2 =+35621× 35621 =-1.1001 1.1001× 0.0011001=-0.11001× =-0.11001 二进制数 -0.0011001=-0.11001×10-10 =-1.1001×10-11 =-11001 11001× =-11001×10-111
r=8
0,1,…,7
r = 10
r = 16
0,1,…,9 0,1,…,9,A,B,C,D,E,F
2i
Biblioteka Baidu
8i O
10i D
16i H
4/70
表示符号 B
进位计数制的共同特点是: 进位计数制的共同特点是:
每一种数制都有固定的基本符号(数码); ①每一种数制都有固定的基本符号(数码); 处于不同位置的数码所代表的值不同, ②处于不同位置的数码所代表的值不同,与它所在位 置的“ 值有关。 置的“权”值有关。 如:(8323.68)D =8×103+3×102+2×101+3×100+6×10-1+8×10-2 +8× =8× +3× +2× +3× +6× 1× +0× +1× (101.11)B = 1×22 +0×21+1×20+1×2-1+1×2-2 (756.7)O = 7×82 +5×81+6×80+7×8-1 7× +5× +6× (E3.F)H 14× +3× +15× = 14×161 +3×160 +15×16-1
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
1
数符
小数点位置
数值部分
12/70
• 定点数范围和精度
当用M位二进制数存储数据时, 定点整数N的取值范围是:-(2M-1-1)≤N≤(2M-1-1) : N ( 定点小数N的取值范围是:-(1-2-(M-1))≤N≤(1-2-(M-1)) : (1N (1 (M例:计算机内用2个字节(16位二进制数) 能够存储定点整数N的范围是:
如:十进制数-193的机器数表示: (-193)D =(-11000001)B 1 0 0
数符
机器数的概念
0 0
0 0 0
1 1 0
0 0
0 0 1
数值部分
思考题:用一个字节,分别表示无符号数和有符号数, 各自的最大和最小十进制数是多少? 11/70
定点数表示方法
定点整数
0 0 0
机器内部小数点是隐含的,位置可以固定,也 可以可变动。前者称为定点数 定点数,后者称为浮点数 浮点数。 定点数 浮点数
反码
补码
二进制算术运算
(1010)B+(1101)B =(10111)B (1101)B-(1010)B=(11)B (1101)B×(1010)B=(10000010)B (10111)B÷(11)B =(111)B
补码运算
• 补码运算规则
两个n位二进制数之和( 两个n位二进制数之和(差)的补码等于这两个数 的补码之和(差),即:[X±Y] 补=[X] 补±[Y] 补 。 的补码之和( [X±
规范化形式规定: 规范化形式规定:尾数值的最高位为1。
浮点数存放形式 阶符 阶码 数符 尾数
=(-0.11011× (-110.11)B =(-0.11011×10+11)B 0 11 1 11011
14/70
原码、反码和补码
原码
要考虑机器字长。
最高位存放数的符号(0为正,1为负),数值部 分以二进制形式表示。 X 0 如:X=+1010011 【X】原=0101 0011 1010011 Y 1 Y=-1010011 【Y】原=1101 0011 1010011 正数的反码是原码本身;负数的反码为对原码 按位(除符号位外)取反,即0变1,1变0。 【X】反=0101 0011 【Y】反=1010 1100 X 0 Y 1 正数的补码表示与原码相同;负数的补码等 于其相应反码加1(在最低位加1)。 Y 1 【X】补=0101 0011 【Y】补=1010 110115/70 X 0
二进制、八进制和十六进制之间: 二进制、八进制和十六进制之间:81=23、161=24, 即一位八进制数对应3 二进制数; 即一位八进制数对应3位二进制数;一位十六进制数对 二进制数。 应4位二进制数。
二进制 000 001 010 011 100 101 110 111 八进制 0 1 2 3 4 5 6 7 二进制 十六进制 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 二进制 十六进制 1000 1001 1010 1011 1100 1101 1110 1111 8 9 A B C D E F
现行计算机系统采用二进制。为书写和表示方便, 引进八进制和十六进制。
进位计数制三要素:
数码 基数 位权
基数是指在某种进位计数制中所使用的数码个数。 数码个数。 基数 数码个数 位权是按所采用的基数 基数和对应数位 数位来表示一个固定数 固定数。 位权 基数 数位 固定数
1/70
• 十进制计数制
十进制数的基数是10。数码有0、1、2、3、4、5、 6、7、8和9共10个数字符号。
5/70
各进制间数据的转换
• R进制数转换为十进制数
N=
i =− m
∑a
n −1
i
×R
i
方法:用权展开法将任意进制数转换成十进制数。 用权展开法将任意进制数转换成十进制数。 用权展开法将任意进制数转换成十进制数 【例1】将二进制数转换为十进制数。
(1101.1011)B=1×23+1×22+0×21+1×20+1×2-1+0×2-2 + 1×2-3+1×2-4=(13.6875)D
例:用补码进行加法运算:(+20)+(-10)=(+10)。 用补码进行加法运算:(+20)+(-10)=(+10)。 0001 0100 [+20] 补 + 1111 0110 [-10] 补 [+10] 补 10000 1010 进位, 进位,自然丢掉
16/70
• 通过补码加法实现减法运算
设两个带符号数分别为X和Y,X-Y=X+(-Y) [XX+[+[[X-Y] 补=(X+[-Y] )补=[X] 补+[-Y] 补
4 5 5 5 4
【例3】将八(十六)进制数转换成二进制数
(2C1D.A1)H =(0010 1100 0001 1101.1010 0001 (7123.14)O =(111 001 010 011 .001 100 7123.14) )B
)B
10/70
计算机内部信息只有0和1两种形式。规定最高位为符 号位,用0表示“+”号;用1表示“-”号,称为数符 数符, 0 1 数符 其余位表示数值。 将机器内存储的带符号数称为机器数 机器数, 将机器内存储的带符号数称为机器数 而由正、负号加绝对值表示的实际数称为真值数 真值数。 而由正、负号加绝对值表示的实际数称为真值数
例:设X=-20,Y=15,用加法进行X-Y运算。 X=-20,Y=15,用加法进行X 运算。 [X]
补=11101100
[Y]
补=00001111
[-Y]
补 补 补
补=11110001
1110 1100 + 1111 0001 11101 1101
[-20] [-15] [-35]
进位, 进位,自然丢掉 说明:结果为补码时,为得到真值,再求一次补。 说明:结果为补码时,为得到真值,再求一次补。
• 十进制数转换为R进制数 十进制数转换为R
小数部分转换方法:采用“ 小数部分转换方法:采用“乘R取整法”。 取整法” 【例 】将(0.6876)D 转换成二进制数(保留小数点后4位)。 纯小数 乘 积 0.6876× 1.3752 0.6876×2 =1.3752 最高位 计算到 0.7504 0.3752× 0.3752×2 =0.7504 第5位 0.7504× 1.5008 0.7504×2 =1.5008 0.5008× 1.0016 0.5008×2 =1.0016 0.0032 0.0016×2 =0.0032 最低位 0.0016×
思考: n个1组成的二进制数对应的十进制数是多少? 组成的二进制数对应的十进制数是多少? 由 6/70
将整数与小数两部分分别转换, 将整数与小数两部分分别转换,然后将结果用小 数点连接起来。 数点连接起来。 整数部分转换方法:采用“除R取余法”。 整数部分转换方法:采用“ 取余法” 【例】将(301)D 转换成二进制数: 整数商 余数 2| 301 150……1 最低位 2| 150 1 75……0 2| 75 0 37……1 2| 37 1 18……1 2|18 1 (100101101)B 0 2| 9……0 2|4……1 1 0 2|2……0 2|1……0 0 7/70 0……1 最高位 1
【例2】将八进制数转换为十进制数。
(455.54)O =4×82+5×81+5×80+5×8-1+4×8-2 256+40+ 0.625+ = =256+40+5+0.625+0.0625 (301.6875)D
【例3 】将十六进制数转换为十进制数。
301.6875) 13× 11× (12D.B)H=1×162+2×161+13×160+11×16-1 =(301.6875)D
……+a-m×R-m +a
数码 基数 位权 一个计数制所采用基本符号的个数。 一个计数制所采用基本符号的个数。 用基数R 用基数R的i次幂Ri表示 。 次幂R
3/70
常用进制数的表示
进位制 规则 基数 数符 位权 二进制 八进制 十进制 十六进制 逢二进一 逢八进一 逢十进一 逢十六进一 r=2
0,1 ,
小数点位置固定在数值最低位后面,表示整数。 小数点位置固定在数值最低位后面,表示整数。 (193)D =(11000001)B
0 0 0 0 0 1 1 0 0 0 0 0 1
数符 定点小数
数值部分 (-0.6875)D =(-0.1011)B
小数点位置
小数点位置定在数值最高位前面,表示纯小数 小数点位置定在数值最高位前面,
(0.1011)B
301.6876) (301.6876)D ≈ (100101101.1011)B 任何十进制整数都能精确地转换成R进制数; 注:任何十进制整数都能精确地转换成R进制数;某些 十进制小数不能精确地转换成R进制数。 十进制小数不能精确地转换成R进制数。 8/70
• 二进制、八进制、十六进制数间的相互转换 二进制、八进制、
【例1】将二进制数100101101.1011转换成十六进制数
(0001 0010 1101.1011 )B =(12D.B)H 0001 =(12D.B) 12D.B
1 2 D B
【例2】将二进制数100101101.1011转换成八进制数
100 =(455.54 00) (100 101 101.101 100)B=(455.54)O 455.54)
数码处于不同位置代表不同数值。
如:301.6876
3×102+0×101+1×100+6×10-1+8×10-2+7×10-3+6×10-4
将此式称为按权展开表达式。 将此式称为按权展开表达式。 按权展开表达式
2/70
= = = =
• R进制计数制 进制计数制
任意R进制计数制同样有基数R 位权R 任意R进制计数制同样有基数R、位权Ri和按权展开 的表达式。 可以是任意正整数。 的表达式。R可以是任意正整数。 数值的按权展开 :(an-1an-2……a1a0 .a-1a-2……a-m) a a = an-1×Rn-1+an-2×Rn-2+……+a1×R1+a0+a-1×R-1+a-2×R-2+ +a
-(215-1)≤N≤(215-1),即 -32767≤N≤32767;
能够存储定点小数N的范围是:
-(1-2-15)≤N≤(1-2-15), 即-0.999969482421875≤N≤0.999969482421875。
13/70
浮点数表示方法
任何R进制数都可以表示成:N=±S×R± j :
数符 尾数 阶符 阶码
17/70
逻辑运算
逻辑值用于判断某个条件成立与否,成立为1(真 逻辑值用于判断某个条件成立与否,成立为1(真), 1( 反之为0(假)。 反之为0(假 0( 逻辑与运算 逻辑或运算 逻辑非运算
A 0 0 1 1 B 0 1 0 1
用“×”、“∧”或“and 表示 、 ∧ 或 and”表示 用“+”、“∨”或“or 表示 、 ∨ 或 or”表示 not”表示 用“-” 或“not 表示
=+0.35621 0.35621× 如:十进制数 356.21 =+0.35621×10+3 =+35621×10-2 =+35621× 35621 =-1.1001 1.1001× 0.0011001=-0.11001× =-0.11001 二进制数 -0.0011001=-0.11001×10-10 =-1.1001×10-11 =-11001 11001× =-11001×10-111
r=8
0,1,…,7
r = 10
r = 16
0,1,…,9 0,1,…,9,A,B,C,D,E,F
2i
Biblioteka Baidu
8i O
10i D
16i H
4/70
表示符号 B
进位计数制的共同特点是: 进位计数制的共同特点是:
每一种数制都有固定的基本符号(数码); ①每一种数制都有固定的基本符号(数码); 处于不同位置的数码所代表的值不同, ②处于不同位置的数码所代表的值不同,与它所在位 置的“ 值有关。 置的“权”值有关。 如:(8323.68)D =8×103+3×102+2×101+3×100+6×10-1+8×10-2 +8× =8× +3× +2× +3× +6× 1× +0× +1× (101.11)B = 1×22 +0×21+1×20+1×2-1+1×2-2 (756.7)O = 7×82 +5×81+6×80+7×8-1 7× +5× +6× (E3.F)H 14× +3× +15× = 14×161 +3×160 +15×16-1
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
1
数符
小数点位置
数值部分
12/70
• 定点数范围和精度
当用M位二进制数存储数据时, 定点整数N的取值范围是:-(2M-1-1)≤N≤(2M-1-1) : N ( 定点小数N的取值范围是:-(1-2-(M-1))≤N≤(1-2-(M-1)) : (1N (1 (M例:计算机内用2个字节(16位二进制数) 能够存储定点整数N的范围是:
如:十进制数-193的机器数表示: (-193)D =(-11000001)B 1 0 0
数符
机器数的概念
0 0
0 0 0
1 1 0
0 0
0 0 1
数值部分
思考题:用一个字节,分别表示无符号数和有符号数, 各自的最大和最小十进制数是多少? 11/70
定点数表示方法
定点整数
0 0 0
机器内部小数点是隐含的,位置可以固定,也 可以可变动。前者称为定点数 定点数,后者称为浮点数 浮点数。 定点数 浮点数
反码
补码
二进制算术运算
(1010)B+(1101)B =(10111)B (1101)B-(1010)B=(11)B (1101)B×(1010)B=(10000010)B (10111)B÷(11)B =(111)B
补码运算
• 补码运算规则
两个n位二进制数之和( 两个n位二进制数之和(差)的补码等于这两个数 的补码之和(差),即:[X±Y] 补=[X] 补±[Y] 补 。 的补码之和( [X±
规范化形式规定: 规范化形式规定:尾数值的最高位为1。
浮点数存放形式 阶符 阶码 数符 尾数
=(-0.11011× (-110.11)B =(-0.11011×10+11)B 0 11 1 11011
14/70
原码、反码和补码
原码
要考虑机器字长。
最高位存放数的符号(0为正,1为负),数值部 分以二进制形式表示。 X 0 如:X=+1010011 【X】原=0101 0011 1010011 Y 1 Y=-1010011 【Y】原=1101 0011 1010011 正数的反码是原码本身;负数的反码为对原码 按位(除符号位外)取反,即0变1,1变0。 【X】反=0101 0011 【Y】反=1010 1100 X 0 Y 1 正数的补码表示与原码相同;负数的补码等 于其相应反码加1(在最低位加1)。 Y 1 【X】补=0101 0011 【Y】补=1010 110115/70 X 0
二进制、八进制和十六进制之间: 二进制、八进制和十六进制之间:81=23、161=24, 即一位八进制数对应3 二进制数; 即一位八进制数对应3位二进制数;一位十六进制数对 二进制数。 应4位二进制数。
二进制 000 001 010 011 100 101 110 111 八进制 0 1 2 3 4 5 6 7 二进制 十六进制 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 二进制 十六进制 1000 1001 1010 1011 1100 1101 1110 1111 8 9 A B C D E F
现行计算机系统采用二进制。为书写和表示方便, 引进八进制和十六进制。
进位计数制三要素:
数码 基数 位权
基数是指在某种进位计数制中所使用的数码个数。 数码个数。 基数 数码个数 位权是按所采用的基数 基数和对应数位 数位来表示一个固定数 固定数。 位权 基数 数位 固定数
1/70
• 十进制计数制
十进制数的基数是10。数码有0、1、2、3、4、5、 6、7、8和9共10个数字符号。
5/70
各进制间数据的转换
• R进制数转换为十进制数
N=
i =− m
∑a
n −1
i
×R
i
方法:用权展开法将任意进制数转换成十进制数。 用权展开法将任意进制数转换成十进制数。 用权展开法将任意进制数转换成十进制数 【例1】将二进制数转换为十进制数。
(1101.1011)B=1×23+1×22+0×21+1×20+1×2-1+0×2-2 + 1×2-3+1×2-4=(13.6875)D
例:用补码进行加法运算:(+20)+(-10)=(+10)。 用补码进行加法运算:(+20)+(-10)=(+10)。 0001 0100 [+20] 补 + 1111 0110 [-10] 补 [+10] 补 10000 1010 进位, 进位,自然丢掉
16/70
• 通过补码加法实现减法运算
设两个带符号数分别为X和Y,X-Y=X+(-Y) [XX+[+[[X-Y] 补=(X+[-Y] )补=[X] 补+[-Y] 补
4 5 5 5 4
【例3】将八(十六)进制数转换成二进制数
(2C1D.A1)H =(0010 1100 0001 1101.1010 0001 (7123.14)O =(111 001 010 011 .001 100 7123.14) )B
)B
10/70
计算机内部信息只有0和1两种形式。规定最高位为符 号位,用0表示“+”号;用1表示“-”号,称为数符 数符, 0 1 数符 其余位表示数值。 将机器内存储的带符号数称为机器数 机器数, 将机器内存储的带符号数称为机器数 而由正、负号加绝对值表示的实际数称为真值数 真值数。 而由正、负号加绝对值表示的实际数称为真值数
例:设X=-20,Y=15,用加法进行X-Y运算。 X=-20,Y=15,用加法进行X 运算。 [X]
补=11101100
[Y]
补=00001111
[-Y]
补 补 补
补=11110001
1110 1100 + 1111 0001 11101 1101
[-20] [-15] [-35]
进位, 进位,自然丢掉 说明:结果为补码时,为得到真值,再求一次补。 说明:结果为补码时,为得到真值,再求一次补。
• 十进制数转换为R进制数 十进制数转换为R
小数部分转换方法:采用“ 小数部分转换方法:采用“乘R取整法”。 取整法” 【例 】将(0.6876)D 转换成二进制数(保留小数点后4位)。 纯小数 乘 积 0.6876× 1.3752 0.6876×2 =1.3752 最高位 计算到 0.7504 0.3752× 0.3752×2 =0.7504 第5位 0.7504× 1.5008 0.7504×2 =1.5008 0.5008× 1.0016 0.5008×2 =1.0016 0.0032 0.0016×2 =0.0032 最低位 0.0016×
思考: n个1组成的二进制数对应的十进制数是多少? 组成的二进制数对应的十进制数是多少? 由 6/70
将整数与小数两部分分别转换, 将整数与小数两部分分别转换,然后将结果用小 数点连接起来。 数点连接起来。 整数部分转换方法:采用“除R取余法”。 整数部分转换方法:采用“ 取余法” 【例】将(301)D 转换成二进制数: 整数商 余数 2| 301 150……1 最低位 2| 150 1 75……0 2| 75 0 37……1 2| 37 1 18……1 2|18 1 (100101101)B 0 2| 9……0 2|4……1 1 0 2|2……0 2|1……0 0 7/70 0……1 最高位 1
【例2】将八进制数转换为十进制数。
(455.54)O =4×82+5×81+5×80+5×8-1+4×8-2 256+40+ 0.625+ = =256+40+5+0.625+0.0625 (301.6875)D
【例3 】将十六进制数转换为十进制数。
301.6875) 13× 11× (12D.B)H=1×162+2×161+13×160+11×16-1 =(301.6875)D
……+a-m×R-m +a
数码 基数 位权 一个计数制所采用基本符号的个数。 一个计数制所采用基本符号的个数。 用基数R 用基数R的i次幂Ri表示 。 次幂R
3/70
常用进制数的表示
进位制 规则 基数 数符 位权 二进制 八进制 十进制 十六进制 逢二进一 逢八进一 逢十进一 逢十六进一 r=2
0,1 ,
小数点位置固定在数值最低位后面,表示整数。 小数点位置固定在数值最低位后面,表示整数。 (193)D =(11000001)B
0 0 0 0 0 1 1 0 0 0 0 0 1
数符 定点小数
数值部分 (-0.6875)D =(-0.1011)B
小数点位置
小数点位置定在数值最高位前面,表示纯小数 小数点位置定在数值最高位前面,
(0.1011)B
301.6876) (301.6876)D ≈ (100101101.1011)B 任何十进制整数都能精确地转换成R进制数; 注:任何十进制整数都能精确地转换成R进制数;某些 十进制小数不能精确地转换成R进制数。 十进制小数不能精确地转换成R进制数。 8/70
• 二进制、八进制、十六进制数间的相互转换 二进制、八进制、