第六章——计算机的运算方法

逻辑右移和算术右移

逻辑右移补0
算术右移填充符号位的值

计算机中如何表示小数?

现代计算机中浮点数一般采用IEEE 754 标准。

单精度浮点数(float):
符号部分+指数部分(也叫阶码)+尾数部分
尾数部分:将小数点前面的值固定为1(正则表达式),尾数越多,精度越高
指数部分使用移码(可简化浮点数的运算)

各种码制:

反码:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则
补码:解决负数加法运算正负零问题,弥补了反码的不足
移码:解决数值比较复杂,运算复杂等问题
总之,反码与补码都是为了解决负数运算问题,跟正数没关系,因此,不管是正整数还是正小数,原码,反码,补码都全部相同。
一个正数和负数互为补数时,他们的绝对值之和为模数

总结

1、正数的原码、补码、反码均为其本身;
2、负数(二进制)的原码、补码、反码公式:
反码 = 原码(除符号位外)每位取反
补码 = 反码 + 1
移码 = 补码符号位取反

猜你喜欢

转载自blog.csdn.net/rakish_wind/article/details/80627615