二进制

203 阅读2分钟

1有符号数的表示和计算

  • 符号的表示:用0、1表示正负号,放在数值的最高位;
  • 原码:3个bit能表示8个数,+0,+1,+2,+3,-0,-1,-2,-3;使用二进制表示分别为,000,001,010,011,100,101,110,111;

1.png

  • 计算机中对二进制都是进行加法运算的,因为这样实现起来比较简单,只用设计一种电路,比如110+101 = 0111(相同为相加,逢2进1)。因此,也考虑将减法转换成加法来进行运算;
  • 直接使用原码来将减法转换成加法是不可行的:用原码计算2-1=>010+101=111(是-3),这样很显然是不符合实际的;因此,通过原码将减法转换成正数和负数相加是无法实现将减法转换成加法的目的的,因此就需要使用反码了;
  • 反码:正数不变,负数的除符号位外取反;1-1使用反码进行计算就是,001+110=111(表示的是-0) image.png
  • 补码:只是使用反码,还是不够优雅,因为0有两种表示方式111,000表示-0和+0。因此,考虑使用补码,正数不变,负数在反码的基础上加1,在计算机中只有补码,是没有原码和反码的,原码和反码只是给我们求算补码使用的。

2022-06-01_150509.JPG

2 小数点的表示

2.1 在计算机中,小数点及其位置是隐含规定的,小数点并不占用存储位置;计算机中的小数可以分为定点数和浮点数:

  • 定点数:小数点位置是固定不变的,分为顶点整数和定点小数;比如,1.0(小数点永远在右边),0.2(小数点永远在左边);
  • 浮点数:小数点的位置是会变化的,比如1.23,3.445(小数点浮动表示不同的数据)

1.jpg

2.jpg

浮点数:IEEE754标准