2.计算机的运算方法

一.逻辑右移和算术右移

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

二.计算机中如何表示小数?

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

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

  • 反码:解决负数加法运算问题,将减法运算转换为加法运算,从而简化运算规则
  • 补码:解决负数加法运算正负零问题,弥补了反码的不足
  • 移码:解决数值比较复杂,运算复杂等问题

总之,反码与补码都是为了解决负数运算问题,跟正数没关系,因此,不管是正整数还是正小数,原码,反码,补码都全部相同。


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

猜你喜欢

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