计算机组成原理—运算方式
计算机组成原理—中央处理器(1)
四、计算机的运行方式
1.有符号数和无符号数
计算机的数均存在寄存器中,通常称寄存器的位数为机器字长
1.1无符号数
没有表示符号的数,每一位均可存放数值。eg:若机器字长16位,则可表示无符号数的范围为0-65535(2^16 - 1)
1.2有符号数
符号的“+”、“-”用“0”和“1”来表示。0=>正;1=>负
真值:带有正负的二进制数字表达
机器数:真值的机器表示
计算码值。前提:已知真值
原码 | 反码 | 补码 | |
---|---|---|---|
正数整数 | 0,真值 | 同原码 | 同原码 |
正数小数 | 0.小数后真值 | 同原码 | 同原码 |
负数整数 | 1,去负号真值 | 首位不变,后位取反 | 首位不变,最后1位加1 |
负数小数 | 1.小数后无负号真值 | 首位不变,后位取反 | 首位不变,最后1位加1 |
以8进制为例,不同码对应的真值范围
- 移码
已知真值,求其移码
移码 = 真值 + 2^n(真值位数) 最高位为正负位
注:二进制的加减法
2.数的定点、浮点表示
2.1定点表示
2.2浮点表示
N = S * r^j
S:是尾数(可正可负,首位非零)
j:为阶数(可正可负)
r:为基数(2、4、8、16进制)
eg:N = 11.0101 =>0.110101 * 2^10(二进制)
2.2.1此为浮点位的表示形式
2.2.2 定点数和浮点数的比较
定点数 | 浮点数 | |
---|---|---|
范围 | 小 | 大 |
精度 | 低 | 高 |
运算步骤 | 少 | 多 |
溢出判断 | 本身判断 | 规格化阶数判断 |
3.定点运算
3.1移位
小数点不动,左移,绝对值增大;反之减小
- 移位规则
符号位不变 +
3.2加减运算
全部换成补码进行 +运算
注:超出的位丢掉,所得的结果为补码(要还原)
- 溢出判断
一个符号位:正正 ->负或是负负->正为溢出;若有进位,则与原操作 数符号对比,相同,未溢出,反之,溢出
两个符号位:10/01为溢出,最高位为正真的符号位
4.浮点四则运算
4.1加减运算
- 对阶(小阶向大阶对齐)
先写出要运算的数的计算机补码表示
再求阶差
结果为负且等于(注意结果是补码)-2,说明y的阶大于x的阶,x->y对齐:尾数向右移动两位,x的阶要增大2
- 尾数求和
直接相加即可
- 规格化
左规:将结果00.0xxx => 00.1xxx
将结果11.1xxx => 11.0xxx
尾数向左移动,阶数减小
右规:将结果01.xxx ->00.1xxx
将结果10.xxx ->11.0xxx
尾数向右移动,阶数减大
- 舍入
“0”舍“1”入,尾数右移时,同”四舍五入“
”恒置1“法,尾数右移时,最右位恒为1
- 溢出判断
根据阶码来判断