5 进制转换

说明

二进制:
1.一个字节(byte)= 8位
2.计算机存储的都是补码
3.正数:原码=反码=补码
负数:
原码:
反码:符号位不变,其它位取反
补码:反码加一
4.补码的补码是原码

5.1 二进制与十进制的转换

  1. 正整数转二进制

    • 要点:除二取余,倒序排列
  2. 解释:将一个十进制数除以二,得到的商再除以二,以此类推直到商等于1或0为止,倒取 除得的余数,即为二进制的结果。

    例如:把52换算成二进制数,计算结果如图:

    52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数为:110100。

    由于计算机内部表示数的字节单位都是定长的,都是2的幂次方展开,如8位,16位,或32位…。

    于是,一个二进制数用计算机表示时,位数不足2的幂次方时,高位上要补足若干个0。

    即:

  3. 负整数转二进制

    • 要点:取反加一

    • 解释:将该负数整数对应的正整数先转换成二进制,然后对其取反,再对取反后的结果加1即可

      例如:把-52换算成二进制:

      1. 先取得52的二进制:00110100

      2. 对所得到的二进制数取反:11001011

      3. 将取反后的数值 加1 即可:11001100

      即:

  4. 二进制转十进制

    • 解释:二进制用数值乘以2的幂次方依次相加

      将二进制110换算成十进制:

      1. 首位补齐位数:00000110

      2. 首位为0,则为整数,那么将二进制中的三位数分别于下边对应的值相乘后再相加得到的值为换算为十进制的结果:

如果二进制补足位数之后首位为1,那么其对应的十进制为负数,那么需要先对二进制 减1,再取反然后再换算。

  • 比如:11111010,高位为1,那么需要先减1,为:11111001,

  • 再取反,即:-00000110;那么00000110 对应的十进制为6,

  • 因此 11111010 对应的十进制为-6;即

results matching ""

    No results matching ""