6.1 无符号数和有符号数
6.1.1 无符号数
计算机中的数是存放在寄存器中的,对于无符号数来说,它的每一位都可以用来存放数值。而有符号数则需要留出位置存放符号。
表示范围0~65535。
6.1.2有符号数
0正,1负。
机器数定义:将符号数字化的数即为机械数。
真值:带+,-的叫真值。
机器数的表示形式:原码,反码,补码。
原码:+1110(0,1110),-1110(1,1110),+0.1101(0.1101),-0.1101(1.1101),+/-0(0.0000)
补码:+1110(0,1110),-1110(1,0010),+0.1101(0.1101),-0.1101(1.0011),+/-0(0.0000)
反码:+1110(0,1110),-1110(1,0001),+0.1101(0.1101),-0.1101(1.0010),+0(0.0000),-0(1.1111)
当真值为正时,原码,补码和反码表示形式相同;当真值为负时,原码,补码和反码表示形式不同。
移码表示法:
在真值用补码表示时,通过补码看不出大小。因此会把真值加上2^n,这样可以直接看出真值的大小。
6.2数的定点表示和浮点表示
6.2.1定点表示
小数点固定在某一位置的数为定点数。
6.2.2浮点表示
即小数点的位置可以变化的数。
3.浮点数的规格化
6.3定点计算
6.3.1移位运算
2.移位规则
对于正数,移位后的空位均由0来代替。负数则不同。
左移若高位丢失1,结果错误。右移若低位丢失1,影响精度。
3.算术移位和逻辑移位的区别
算术移位将最高位看作符号位,在移位时保证符号不变。逻辑移位不把最高位看作符号位,移位时符号可能发生变化。
6.3.2加法与减法运算
6.3.3乘法运算
1.分析笔算乘法
2.笔算乘法的改进
3.原码乘法
4.补码乘法
6.3.4除法运算
2.原码除法
符号位为被除数和除数符号异或而得,再乘以除后的绝对值。
对余数的处理分为
(1)恢复余数法
(2)加减交替法
3.补码除法
(1)恢复余数法
(2)加减交替法
6.4浮点四则运算
6.4.1浮点加减运算
6.4.2浮点乘法运算
6.5算术逻辑单元