2.2.1 定点数的表示(无符号与有符号数、定点小数和整数、原码、反码、补码、移码)


1.无符号数和有符号数

  • 无符号数:指整个机器字长的全部二进制位均为数值位,没有符号位。若机器字长为8位,则数的表示范围 0~28-1 , 即0~255。
  • 有符号数:在机器中,数的正负我们无法识别,但是我们可以用二进制数来代替正负号。一般‘0’为正,‘1’为负,符号位一般在有效数的最前面。若机器字长为8位,是有符号数,则数的表示范围为 -27~27-1 ,即-128~127。

2.机器数的定点表示

  • 根据小数点的位置是否固定,在计算机中,有两种数据格式:定点和浮点表示.
  • 这里介绍定点表示
  • 定点表示即约定机器数中小数点位置是固定不变的,小数点不再使用‘.’表示,而是约定它的位置。
  • 定点小数:一般将小数点的位置固定在数据的最高位之前
  • 定点整数:一般将小数点的位置固定在数据的最低位之后

这里假设机器字长为n+1,来分析定点小数定点整数

(1)定点小数

  • 原码数值范围:- (1-2-n) ~ (1-2-n)
  • 补码数值范围:- 1 ~ (1-2-n)
  • 反码数值范围:- (1-2-n) ~ (1-2-n)
  • 范围包含端点值
    在这里插入图片描述

(2)定点整数

  • 原码数值范围:- (2n-1 ) ~ ( 2n-1 )
  • 补码数值范围:- 2n ~ (2n-1)
  • 反码数值范围:- (2n-1 ) ~ ( 2n-1 )
  • 范围包含端点值在这里插入图片描述

3.原码、反码、补码、移码

  • 数值位取反加1 = 从最低位往最高位数,遇到第一个1后,这个1本身不变,它左边的除符号位外全部数字取反

  • 移码越大真值越大、移码越小真值越小

  • 注意:
         [+0] = 0000 , [-0] = 1000
         [+0] = [-0] = 0.000
         [+0] = 0.000 , [-0] = 1.111

  • 原码、补码、反码、移码转换规律
    在这里插入图片描述

发布了36 篇原创文章 · 获赞 5 · 访问量 3521

猜你喜欢

转载自blog.csdn.net/weixin_43914604/article/details/104212888