第一章 微型计算机基本知识第一章 微型计算机基本知识
数制与编码
计算机中有符号数的表示方法第一章 微型计算机基本知识第一节 数制与编码一、数制
1,数制的基与权基,各种数制中可用数字符号的个数。
例:
十进制 (Decimal),基数为 10; 0~9
二进制 (Binary),基数为 2; 0,1
十六进制 (Hexdecimal),基数为 16; 0~9,A,B,C,D,E,F
八进制 (Qctal),0~7
第一章 微型计算机基本知识位置记数法,同一个数字在不同的数位代表的数值是不同的。这种记数方法称为~。
权,每一个数位赋以不同的值。
1 1 2 3,4 5
103 102 101 100 10-1 10-2权十进制值,1 × 103+1× 102+2× 101+3× 100+4× 10-1+5× 10-2
第一章 微型计算机基本知识
1 0 1 1,0 1
23 22 21 20 2-1 2-2权二 进制值,1× 23+0× 22+1× 21+1× 20+0× 2-1+1× 2-2=11.25
1 A C,A 8
162 161 160 16-1 16-2权十六进制值,1× 162+10× 161+12× 160+10× 16-1+8× 16-2
第一章 微型计算机基本知识
2,二进制数的特点
( 1) 数值简单,容易表示
( 2)节省设备
( 3) 运算规则简单第一章 微型计算机基本知识
in
mi
i RrS

1
3,数制之间的转换
(1) 任意进制转换为十进制任意一个数都可用它的按权展开式表示,即:
r:为该记数制中的任一个数字,R为基数。
1011.01B= 1× 23+0× 22+1× 21+1× 20+0× 2-1+1× 2-2=11.25
1AC.A8H=1× 162+10× 161+12× 160+10× 16-1+8× 16-2
第一章 微型计算机基本知识
( 2)十进制数转换成非十进制数整数用“除 2取余”,小数用“乘 2取整”的方法,
例如,欲将十进制数 175转换为二进制数,其过程如下:
175÷ 2=87 余数为 1
87÷ 2=43 1
43÷ 2=21 1
21÷ 2=10 1
10÷ 2=5 0
5÷ 2=2 1
2÷ 2=1 0
1÷ 2=0 1
得到结果,(175) 10=(10101111) 2。
低高第一章 微型计算机基本知识总结:非十进制数转换为非十进制数的方法:
整数:除基取余,先低后高小数:乘基取整,先高后低将十进制小数 0.71875转换成二进制小数,其过程如下:
0.71875× 2=1.437 5 整数部分 1
0.4375× 2=0.875 0
0.875× 2=1.75 1
0.75× 2=1.5 1
0.5× 2=1.0 1
于是,得到结果为,(0.71875)10=(0.10111)2。
高低第一章 微型计算机基本知识
( 3)十六进制转换成二进制:
二进制数 0101 1100 0111 1010,0011 1011
∴ 5C7A.3BH=101 1100 0111 1 010,0011 1011 B
5 C 7 A,3 B
如:十六进制数 5C7A.3B 转换为二进制的方法是:
第一章 微型计算机基本知识十六进制数 2 E 9,D 4
二进制数 1011101001.110101 转换为十六进制数的方法是:
二进制数 0010 1110 1001,1101 0100
第一章 微型计算机基本知识二、计算机中的编码
1,BCD码( Binary Coded Decimal)
二进制编码的十进制数一个十进制数用四位二进制编码表示,即二进制编码的十进制数,简称 BCD码。
25BCD= 0010,0101
137BCD= 0001,0011,0111
第一章 微型计算机基本知识
BCD码与其它数制的对应关系第一章 微型计算机基本知识
BCD码的加减运算,
0011 1000 38 的 BCD
+ 0100 1001 49 的 BCD码例,用 BCD码求 38+49。
1000 0001 81 的 BCD码第一章 微型计算机基本知识
(1) 如果任何两个对应位 BCD数相加的结果向高一位无进位时,若得到的结果小于或等于 9,则该位不需修正;若得到的结果大小 9 且小于 16 位,则该位进行加 6 修正。
(2) 如果任何两个对应位 BCD数相加的结果向高一位有进位时 (即结果大于或等于 16),该位进行加 6 修正。
(3) 低位修正结果使高位大于 9 时,高位进行加 6 修正。
十进制调整的内容 ( BCD调整),
第一章 微型计算机基本知识例,用 BCD码求 94+7。
1001 0100 94
+0000 0111 7
1001 1011 低 4 位满足法则 1
+0000 0110 加 6 修正
1010 0001 高 4 位满足法则 3
+0110 0000 加 6
[ 1] 0000 0001 结果正确 101
第一章 微型计算机基本知识
2,字符代码
ASCII码( American Standard Code for
Information interchange)
ASCII码采用 7 位二进制代码来对字符进行编码。
它包括 32 个通用控制符号,10 个阿拉伯数字,52
个英文大、小字母,34 个专用符号,共 128 个。
0 ~30H 9~39H
A~41H a~61H
第一章 微型计算机基本知识第二节 计算机中有符号数的表示方法
1,数的符号表示法
D7 D6 D5 D4 D3 D2 D1 D0
符号位 数值位假设,8位计算机,D7 为符号位,规定最高位为符号位。
0,表示正数的符号,+”;
1,表示负数的符号“-”。
第一章 微型计算机基本知识机器数,连正负号也数字化的数称为~。
真值:
0 1 0 0 1 0 1 0 +74
1 1 0 0 1 0 1 0 -74
机器数 真值第一章 微型计算机基本知识
(1)原码,同机器数表示方法( 0为正,1为负,其余为数值位)
例如:
X1=+ 101 0101 则[ X1] 原 =0101 0101
X2=- 101 1101 则[ X2] 原 =1101 1101
0 有两种表示形式:
[ +0] 原 =00000000
或 [ -0] 原 =10000000
8 位二进制原码所能表示的数值范围为 -127—+127。
2,原码、反码和补码第一章 微型计算机基本知识
(2) 反码对于正数反码与原码相同;
对于负数,符号位不变,其余数值位 按位取反 。
例如,X= - 110 1001
[X]原 = 1 1 1 0 1 0 0 1
[X]反 = 1 0 0 1 0 1 1 0
“0”的反码,[+0]反 = 0 0 0 0 0 0 0 0
[-0]反 = 1 1 1 1 1 1 1 1
8位反码表示的数值范围为+ 127~- 127。
第一章 微型计算机基本知识
1)补码的概念如钟表,假设标准时间为 6点整,而某钟表却指在 9点,
校正方法:
( 1) 倒拨 3小时,9- 3= 6
( 2) 顺拨 9小时,9+ 9= 6。
原因:钟表采用 12小时进位,超过 12就从头算起,
即,9+ 9= 12+ 6,该 12称之为 模 (mod)。
(3) 补码第一章 微型计算机基本知识模 (mod),为一个系统的量程或此系统所能表示的最大数,它会自然丢掉 。 如,
9- 3= 9+ 9= 12+ 6→ 6 (mod12 自然丢掉 )
优点:减法运算变为加法运算 。
称:+ 9是- 3在模为 12时的补数 。
例如,11- 7= 11+ 5→ 4 (mod12)
+ 5是- 7在模为 12时的补数。
第一章 微型计算机基本知识一般情况下,任一整数 X,在模为 K 时的补数可用下式表示,
[ X] 补数 = X+ K (mod K)
例如,[ - 3] 补数 = -3+ 12 (mod 12) = 9
[ X] 补 = 28+ X
假定计算机的位数为 8,则计算机中数码的总数为 28,因此,
计算机的补码为以 28 为模。即:
第一章 微型计算机基本知识
2) 补码的定义
① 正数的补码与其原码相同
② 对于负数,等于反码加 1,即:
[ X] 补 =[ X] 反 + 1。
③ 零的补码为零,[ +0] 补 =[- 0] 补 = 00000000
第一章 微型计算机基本知识
X=- 1010111,n= 8,则
( 1) [X]补 = 28+(- 1010111)
= 10101001B
( 2) [X]补 = 1010 1000+ 1
= 1010 1001B
8 位二进制补码所能表示的数值范围为 -128~ +127。即:
[- 128]补 =1000 0000
[+ 127]补 =0111 1111
例如:补码的计算第一章 微型计算机基本知识
(1)已知 〔 X〕 原,求 〔 X 〕 补
(2)已知 〔 X 〕 补,求 〔 X〕 原方法,〔〔 X 〕 补 〕 补 = 〔 X〕 原例如,〔 X〕 原 = 1 1 0 1 0 1 0 1 B
〔 X〕 反 = 1 0 1 0 1 0 1 0 B
〔 X 〕 补 = 1 0 1 0 1 0 1 1B
则 〔〔 X 〕 补 〕 补 = 11010100B+ 1= 〔 X〕 原
3,原码、反码和补码之间的转换第一章 微型计算机基本知识
(3) 已知 〔 X 〕 补,求 〔 - X 〕 补所谓求补,就是将 〔 X 〕 补 连同符号位一起按位求反,然后再加 1,结果即为 〔 - X 〕 补 。
例如,〔 X 〕 补 = 0101 0111B 〔 + 87〕 补
〔 - X〕 补 = 1010 1000B+ 1
= 1010 1001B
第一章 微型计算机基本知识加法规则,[ X+Y] 补 =[ X] 补 +[ Y] 补 (mod 2n)
0010 0001B[ +33] 补 1101 1111B[ -33] 补
+ 0000 1111B[ +15] 补 + 0000 1111B[ +15] 补
0011 0000B[ +48] 补 1110 1110B[ -18] 补例,用补码进行下列运算,(+33)+(+15);
(-33)+(+15) 。
4,补码的加减法运算第一章 微型计算机基本知识减法规则:[ X- Y] 补 =[ X] 补 +[- Y] 补
=[ X] 补 -[ Y] 补 (mod 2n)
例,X=-011,1000,Y=-001,0001,运算,
[X]补 - [Y]补
[ X] 补 = 1100,1000B
[ Y] 补 = 1110,1111B [ -Y] 补 =0001,0001B
则 1100,1000 B [- 56] 补
+ 0001,0001 B [ -9] 补
1101,1001 B [- 65] 补第一章 微型计算机基本知识
n
5,有符号数运算的溢出问题
-2n-1≤X≤2n-1-1
当 n= 8 时,范围,-128~ +127;
n= 16时,范围,-32768~ +32767。
如果两个有符号数进行加减运算时,结果超出可表示的有符号数的范围时,就称 发生溢出,计算结果会出错。
显然,溢出只能出现在两个同号数相加或两个异号数相减的情况下。
第一章 微型计算机基本知识
1010 1010B -86
例,(+72)+(+98)。
0100 1000B +72
+ 0110 0010B +98
例,(-83)+(-80)
1010 1101B -83
+1011 0000B -80
[ 1] 0101 1101B +93
第一章 微型计算机基本知识小结:
本章介绍了常用的数制、码制以及计算机中有符号数字的表示方法。常用的进制有二、八、十和十六进制等。有符号数的表示方法有原码、反码和补码。计算机中常用的编码为 BCD码和 ASCII码。
第一章 微型计算机基本知识重点和难点:
重点,掌握各种进制的转换方法;
了解 BCD码运算时进行 BCD修正的原因和方法;
掌握数字的原码、反码和补码的表示方法以及有符号数运算时溢出的判断方法。
难点,有符号数字的补码表示法。
作业:
P14,全部思考题和习题。