当前位置:文档之家› 微机原理第1章-数制

微机原理第1章-数制


无符号二进制数的除法运算有可能产生溢出,当除数较小时,运算
结果可能超出微处理器为除法运算结果准备的存储空间,从而溢出 。除法溢出时微处理器会产生溢出中断,提醒程序员程序出错。
33
知识点1.3.3
带符号整数的表示方法:
原码、反码、补码
34
带符号数的表示方法
【例1-17】 十进制 +1 -1 +79 -79 0 0 二进制 +1 -1 + 1001111 - 1001111 0 0000000 1 0000000 符号数值化 0 0000001 1 0000001 0 1001111 1 1001111
15
2. 十进制数到非十进制数的转换
转换为二进制, 对整数:除2取余; 对小数:乘2取整。
转换为十六进制, 对整数:除16取余; 对小数:乘16取整。
整数部分 小数部分
余数
低位
高位
2 115 2 57 2 28 2 14 2 7 2 3 2 1 0
1 1 0 0 1 1 1
高位
0.75 2 × 1.5 0.5 2 × 1.0
例如:(3FC.6)H =3×162+F×161+C×160+6×16-1 =(1020.375)D
知识点1.2.2
数制转换
14
1. 非十进制转换为十进制
按权表达式展开,再按十进制运算规则求和,即可得到对应的十进制数。
例: (1101.101)2=23+22+2-1+2-3=(13.625)10 (3FC.6)H=3×162+15×161+12×160+6×16-1=(1020.375)D
678.34=6×102+7×101+8×100 +3×10-1+4×10-2
数码 基数 位权
[例1-1] 十进制数8347.25权表达式为:
8×103+3×102+4×101+7×100+2×10-1+5×10-2
在计算机中,十进制数8347.25可以表示为: (8347.25)10 或者(8347.25)D 也可用后缀D(decimal)表示:8347.25D 更常见的写法是不加任何表示字符,计算机默认为十进制数。
6
二进制
数码为: 0、1 基数为:2
位权:2 i
表示形式:B 位权: 例如:1011B或(1011)2
… 25 24 23 22 21 20 . 2-1
即: 二进制数1010.01的权表达式为:
2-2
2-3 …
…32 16 8 4 2 1 . 0.5 0.25 0.125 …
1010.01= 23 + 21 + 2-2 =10.25
在计算机中,一个二进制数可以用下标2表示,也可以用后缀B( Binary)表示,如(1010.01)2 、1010.01B。
一个字节的二进制数的位权: 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 (1001 0101)2=(128+16+4+1)10=(149)10
+5 +4
+3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6 -7
[+0]原= 0000 0000 [-0 ]原= 1000 0000
(2)反码
对于正数,其反码形式与原码相同,最高位为符号位,其
余位为数值位。
对于负数,将其原码除符号位之外的其余各位按位取反。
真值 +33 -33 +0 -0 +79 -79 原码 0010 0001 1010 0001 0000 0000 1000 0000 0100 1111 1100 1111 反码 0010 0001 1101 1110 0000 0000 1111 1111 0100 1111 1011 0000
39
+7
00000111
0000 0111
+6 +5
+4 +3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6
00000110 00000101
00000100 00000011 00000010 00000001 00000000 10000000 10000001 10000010 10000011 10000100 10000101 10000110
3
进位计数制
二进制、十进制、十六进制,都是进位计数制,进位计数制
使用位置表示法,都有数码、位权和基数3个要素。
十进制
数码为:0、1、2、3、4、5、6、7、8、9
基数为:10
表示形式:D 位权
(678.34)D或(678.34)10
权表达式
103 102 101 100 . 10-1 10-2 1000 100 10 1 . 0.1 0.01
除法运算是乘法运算的逆运算,无符号数的除法运算可以转换为减法和右 移位运算。
29
知识点1.3.2
无符号整数的算术运算与溢出
30
无符号整数的表示范围及运算溢出判断
一个n位无符号二进制数X,表示数的范围为: 0≤X≤2n-1 例如,一个8位无符号二进制数,表示范围为: 0~28-1, 00H~FFH(0~255) 一个16位无符号二进制数,表示范围为:
36
一个字节的原码,表示的数据范围为: 11111111~01111111,即-127~+127。
00000111 00000110
+7 +6
00000101 00000100
00000011 00000010 00000001 00000000 10000000 10000001 10000010 10000011 10000100 10000101 10000110 10000111
无符号数的乘法运算可以转换为加法和左移位的运算。
一个二进制数,每左移一位,相当于乘以2,左移n位就
相当于乘以2n。
28
(4)除法运算 0÷1=0 1÷1=1 [例4] 计算1010 0011B÷1001B= ( ? )B。
1010 0011B÷1001B=
B
除法运算中除数不能为0,否则将引起除法错中断。
0~216-1,即0000H~FFFFH(0~65535)。
31
【例1-16】计算10101011B+11010010B=( ? )B。 171+210=381 10101011
+ 11010010
101111101 运算结果101111101B是9位,超出了8位二进制数的取值范围(0~255),则
知识点1.2
计算机中的数据
1
计算机中使用的数据形式有:
1.无符号整数
2.有符号整数
3.浮点数
4.ASCII码
5.Unicode码 6.BCD码
2
知识点1.2.1
数制
在数字逻辑电路中,只有高电平与低电平两个稳定状态。如果用高电平表
示1、用低电平表示0,数字逻辑电路就可以表示二进制数。计算机由数字
逻辑电路组成,所以计算机采用二进制。
8
0.101101 . 2-1 2-2 2-3 2-4
0.5 0.25 0.125 0.0625 0.03125 0.015625
2-5
2-6
0.101101=0.5+0.125+0.0625+0.015625=0.703125
9
十六进制
数码为: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 基数为:16
分析笔算乘法
1010 × 1001 1010 0000 0000 1010 1011010 被乘数 乘 数 部分积
乘 积

D7 D6 D5 D4 D3 D2 D1 D0
即1010B×1001B=1011010B。
B7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0101 1
26
移位加
乘数 被乘数 1010 部分积 0000
0
1
1
24
(3)乘法运算
0×0=0 1×0=0 0×1=0 1×1=1
分析笔算乘法 [例3]计算1010B×1001B= ( ? )B。
1010 被乘数 × 1001 乘 数 1010 部分积 0000 0000 1010 1011010 乘 积 即1010B×1001B=1011010B
25
18
(4)二进制与八进制间的转换
用3位二进制数表示1位八进制数
(011 100 . 100)2
(3 4 4)8
(5
2 . 7)8
( 101 010 .111)2
19
知识点1.3
二进制整数的算术运算
20
字节 字 双字 四字
01001001 01001010 01001001 01001001 01001001
二进制数的算术运算规则
22
(1)加法运算
0+0=0 0+1=1 1+0=1 1+1=0(有进位) )B。
【例1】计算01101010B+10110101B=( ? 解:
+ 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0
即: 01101010 B + 10110101B= 100011111 B
最高位被丢弃,这导致运算结果错误,计算机中将这种情况称为溢出。两
个16位二进制数相加,结果有可能超出16位二进制数的取值范围,导致最 高位被丢弃,运算结果溢出。32位、64位的二进制数加法运算都有可能溢
相关主题