第1章 数和码制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*
微机组成:CPU、MEM、I/O
微机的基本结构
微机原理(一):
第一章数制和码制
§1.1 数制(解决如何表示数值的问题)
一、数制表示
1、十进制数
表达式为:A =∑-
=•
1
10 n
m
i i
Ai
如:(34.6)
10
= 3×101 + 4×100 + 6×10-1 2、X进制数
表达式为:B =∑-
=•
1 N
M i
i
X Bi
如:(11.01)
2
= 1×21 + 1×20 + 0×2-1+ 1×2-2
(34.65)
16
= 3×161 + 4×160 + 6×16-1+ 5×16-2
X进制要点:X为基数,逢X进1,X i为权重。(X个数字符号:0,1,…,X-1)区分符号:D-decimal (0-9),通常D可略去,
B-binary (0-1),Q-octal (0-7),H-hexadecimal (0-9, A-F)
常用数字对应关系:
D: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13,14,15
B:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
H: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
二、数制转换
1、X →十
方法:按权展开,逐项累加。
如: 34.6 Q= 3×81 + 4×80 + 6×8-1 = 24 + 4 + 0.75 = 28.75 D
2、十→X
即:A十进制=B X进制
令整数相等,即得:A整数=(B N-1·X N-1 + … + B1·X1)+ B0·X0此式一次除以X可得余数B0,再次除以X可得B1,…,如此直至得到B N-1
令小数相等,即得:A小数=B-1·X-1 +(B-2·X-2 + … + B-M·X-M)此式一次乘X可得整数B-1,再次乘X可得B-2,…,如此直至得到B-M.
归纳即得转换方法:除X取余,乘X取整。(适用于任意进制转换)
如:十→二: 25.375 D= 11001.011 B
2 | 2 5· 2 x 0.375 ·
1 2 1 x 0.750 0
6 0 x 1.50 1
3 0 x 1.00 1
1 1 0
0 1
十→八:346.152 D= 532.1157 Q (“四舍五入”改为“到半进一”)
8 | 3 4 6· 8 x 0.152·
4 3 2 x 1.216 1
5 3 x 1.728 1
0 5 x 5.824 5
x 6.592 6
x 4.736 4
……
3、二十六,二八(简捷方法)
方法:四合一,一分四;三合一,一分三。自小数点开始:←·→如:
二→十六:1011011.011001 B=0101 1011.0110 0100B = 5B.64 H
十六→二:3A.5D H=
二→八: 1011011.011001 B =001 011 011.011 001 B = 133.31 Q
八→二:46.15 Q =
三、数的运算
1、算术运算
加减乘除
如: 00110110 10011011 11 0011
+ 01000111 - 01010110 ×10 011/ 1010
01111101 01000101 00 011
+ 11 100
110 011
10
2、逻辑运算
与或异非
如: 01110110 10010011 10000011
AND 01000111 OR 01010010 XOR 01010010 NOT 10010011 01000110 11010011 11010001 01101100 算法:有0得0 有1得1 相同得0 每位取反
常用于:按位清0 按位置1 整体清0 整体取反
四、BCD和ASCII
1、BCD:二进制编码的十进制数
即:十进制数的每一位用4位二进制数表示。
优点:比二进制更直观,机器可识别。
缺点:运算麻烦,需调整。
如: 36.9 = (0011 0110.1001)
BCD
(0011 1001)BCD= 39 , 注意:前者≠00111001B = 57
分为:组合BCD(每字节放两位),如:35 =(0011 0101)
BCD
分离BCD(每字节放一位),如:47 =(xxxx 0100 xxxx 0111)
BCD 用BCD码运算时,结果要进行调整(否则,结果可能有误):
加法调整:加6调整(Di有进位吗?Di>9吗?)
如: 0001 1001 19 0011 0110 36 BCD码
+ 0100 1000 48 + 0100 0111 47 BCD码
0110 0001 61(有进位) 0111 1101 7D( >9 ) 非BCD码 + 0000 0110 06 + 0000 0110 06 调整
0110 0111 67 1000 0011 83 变回BCD码减法调整:减6调整(Di有借位吗?)
如: 0110 0101 65 BCD码
- 0011 0111 37 BCD码
0010 1110 2E(有借位) 非BCD码
- 0000 0110 06 调整
0010 1000 28 变回BCD码
2、ASCII:字符代码
(即用7位二进制数表示常用的字符,共27=128个。第8位通常用作校验位。)
如:′R′= 52H = 1010010B
′0~9′= 30H~39H, ′A~Z′= 41H~5AH,′+′= 2BH 若加校验位(ASCII共8位),则:
偶校验:补一校验位,使1的总个数为偶数。
如:加偶校验后,R的ASCII = 11010010B
奇校验:补一校验位,使1的总个数为奇数。
如:加奇校验后,R的ASCII = 01010010B