第一章 微型计算机的基础知识
第二节 微型计算机运算基础
1.2.1定点数和浮点数的表示
1.定点数的表示 X=X0X2X3…Xn
如果X为纯小数,小数点固定在X0和X1之间,0<=|X|<=1-2n
如果X为纯整数,小数点固定在Xn的最右边,0<=|X|<=2n-1
2.浮点数表示
任何一个十进制数N=10E*M
任何一个二进制数N=2E*M
任何一个R进制数N=RE*M(M为尾数)
在计算机中存放一个完整的浮点数,应包括阶码、阶符、尾数、数符(尾数的符号)。
S符号位+E阶码+M尾数
(1)32位浮点数标准格式
例题1:求N=2011*0.101101在计算机中的表示。
N=2011*0.1011101=200000011*0.1011 1010 0000 0000 0000 000
S=0,M=1011 1010 0000 0000 0000 000
E=e+127=0000 0011+0111 1111=1000 0010
E=(-1)S*(0.M)*****2(E-127)
例题2:将上题N按32位格式化。
N=2011*0.1011 101=200000011*0.1011 1010 0000 0000 0000 000
S=0,E=e+127=0000 0010+0111 1111=1000 0001,E值减一。
M=0111 0100 0000 0000 0000 000,M左移一位。
N=(-1)S*(1.M)*2E-127
=-[1+(1-2-23)]2128~[1+(1-2-23)]**2128
(2)64位浮点数格式
N=(-1)S*(1.M)*2E-1023
1.2.2原码,反码,补码的定义
1.原码
[X]原=X (2n>X>=0)
[X]原=2n-X=2n+|X| (0>=X>-2n)
X的取值范围:-127~127
[+0]原=0000 0000
[-0]原=0000 0000
2.反码
[X]反=X (2n>X>=0)
[X]反=(2n+1-1)+X (0>=X>-2n)
X的取值范围:-127~127
[+0]反=0000 0000
[-0]反=1111 1111
3.补码
[X]补=X (2n>X>=0)
[X]补=2n+1+X=2n+1-|X| (0>=X>=-2n)
X的取值范围:-127~127
[+0]补=0000 0000
[-0]补=0000 0000
[-1000 0000]补=1000 0000
其中:
[[X]补]补=X
[X]补+[Y]补=[X+Y]补
[[X+Y]补]补=X+Y
[[X-Y]补]补=X-Y
溢出判断:
(1)八位 -128<=X<=127
(2)N位 -2n-1<=X<=2n-1-1
两正数或两负数相加,OF=C6⊕C7=1表示溢出。
4.机器码
将硬件序列号经过一系列加密,散列形成的一串序列号。
硬盘,CPU都有一个无法修改的识别码,
网卡的MAC也算,但可以人为修改。
用途:软件根据硬件信息产生一个机器码。
1.2.3微机中常用的数字代码和字符代码
1.数字代码
例如:二—十进制码(BCD码),每一个十进制数用4位二进制数表示。
常用的是8421码,称之为标准BCD码。
加法规则:两个BCD码位用二进制加法相加,高位BCD产生进位,说明已经逢六进一,丢掉了6,所以要加6修正。
减法规则:大致规则同加法,借一当十六,实际借一当十,所以要进行减6操作。
2.字符代码
定义:用二进制编码表示各种字母与特殊符号。ASCII码。
共计128个符号:0~9共十个数字,a~z和A~Z共52个大小写字母,32个标点符号、运算符及34个控制字符。
由于一个ASCII码只需用7位二进制数编码,所以一个ASCII码字节中最高位通常用作奇偶校验位,也可以置1,成为标记校验;还可以恒取0,称空校验位。