C——进制转化

八进制与十六进制

  • 0 开头代表八进制,0666

  • 0x 开头代表十六进制,0x19

二进制转化过程

  • 二进制与八进制对应关系

    • 每三个数字隔开,三个数字对应一个八进制的数,不足三个数字用0补
    001 101 111 011 111 010 101 111 101 010 111
    1    5   7   3   7   2   5   7   5   2   7
  • 二进制与十六进制对应关系

    • 每四个数字隔开,四个数字对应一个十六进制的数,不足四个数字用0补
    0000 0110 1111 0111 1101 0101 1111 0101 0111
    0     6    f    7    d    5    f    5    7
  • 二进制与十进制对应关系

    • 例如,1010

    \[ 0*2^0+1*2^1+0*2^2+1*2^3=10 \]

    • 从个位数开始依次乘以 2 的 n 次幂,n 从 0 开始

十进制转化过程

  • 转二进制,例如50转二进制

    • 将2作为除数,取商数和余数,直到商数为0,将余数倒过来就是转化结果
    • 最后结果:110010
      - 2    25   0
      - 2    12   1
      - 2    6    0
      - 2    3    0
      - 2    1    1
      - 2    0    1
  • 转八进制,例如35转八进制
    • 方法如上,除数变成了8
    • 最后结果:43
      - 8      4      3
      - 8      0      4
  • 转十六进制,例如50转十六进制
    • 最后结果:32
      - 16     3       2
      - 16     0       3

结论

  • 二进制用八进制和十六进制表现更为方便,这才是计算机不使用十进制的原因

猜你喜欢

转载自www.cnblogs.com/cnloop/p/9352413.html