进制转换

1、二进制用0和1表示,八进制用0~7表示且以0打头,十进制用0~9表示,十六进制用0~9和a~f表示且以0x打头

2、其他进制转十进制

  • 二进制:从右向左依次用每位的数字乘以2的位数减一(最左边的位数为1,依次递增)次方,然后求和,例如 10011 = 1*2^0+1*2^1+0*2^2+0*2^3+1*2^4 = 1+2+0+0+16=19
  • 八进制:从右向左依次用每位的数字乘以8的位数减一次方,然后求和,例如0361 = 1*8^0+6*8^1+3*8^2 = 1+48+192 = 241
  • 十六进制同上,A代表10,B代表11,依次类推

3、十进制转其他进制

  • 二进制:用十进制的数除以2,直到商为0,然后将所有余数反向排列即为二进制
  • 八进制:除八,直到商为0,所有余数反向排列即为八进制
  • 十六进制:算法类似

4、二进制转其他进制

  • 八进制:将二进制从右到左每三位转为八进制的一个数即可,三位的原因是三位二进制刚好可以表示0~7
  • 十六进制:将二进制从右到左每四位转为十六进制的一个数即可,四位的原因是四位二进制可表示0~15的数

5、其他进制转二进制

  • 八进制:将八进制从右到左的每个数转成3位的二进制数
  • 十六进制:将十六进制从右到左每个数转成4位的二进制
原文地址:https://www.cnblogs.com/bwkj/p/13138319.html