富文本没有word这么多格式,这点真的有点烦。。。用word转富文本后一堆出问题的,凑合着看吧
运算器
数据格式
整数:
由符号位与量值组成。
浮点数:
按IEEE754标准,32位与64位的数据格式如下:
31 30 23 22 0 |
||
S |
E |
M |
63 62 52 51 0 |
||
S |
E |
M |
其中S是符号位,E是阶码,M是尾数,一个数为2^e.M
为了提高精度,有一个规定,尾数的值不为0时。尾数最高有效位为1。
x的值为(-1)S*(1.M)*2^(E-127)
题目:将-1011.1001101表示成IEEE754标准32位浮点数规格
-1011.1001101 = -1.0111001101 *
需要注意到。2^11不是2的11次方,而是二进制的11,即十进制2的3次方
数的机器码表示
加入符号位,负为1正为0
原码:原来的数的2进制形式。原码运算加减法复杂。如100的原码为0100
反码:正数时,跟原码一样。负数时,是原码的按位取反。
补码:当数字为正数时,与原码一样。当数字为负数时,补码为反码+1。补码的优点是不管加法减法,都使用加法。
+1011的原码是01011,反码跟补码也是01011
-0101的原码是10101,反码是01010,补码是01011
补码计算
两个正数相加后超过最大正数,称为正溢。两个负数相加小于最小负数,称为负溢。
可采用的检测方法有两种:双符号位法或单符号位法。
双符号位法
符号位用量为表示,如100补码就变成00100,然后进行计算。
如果结果的符号位是00或11,代表结果正确。如果是10或者11,则发生了溢出。其中01为正溢出,10为负溢出。
单符号位法
即只用一个符号位表示
当最高有效位产生进位而符号位无进位时,产生正溢。当最高有效位无进位而符号位有进位时。产生负溢。如100的补码是0100,如下
0 |
1 |
0 |
0 |
符号位 |
最高有效位 |
|
|
校验码
防止故障或干扰出现的错误。使用校验码,当出现错误时,检测甚至校验错误。
奇校验:X的每个位按位加,只有当数据X包含奇数个1时,才能使奇校验位的值为1
偶校验:X中包含偶数个1,才能使偶校验位C=0
发送方使用奇偶校验,计算出C,然后将(x1,x2...xn,C)发给接受方,接收方将此数据进行校验,F=x1+x2+...xn