二进制 八进制 十进制 十六进制

二进制 八进制 十进制 十六进制
怎么表示数
怎么换算
有什么联系吗
……

  • 二进制数 (0和1),遇2进1
  • 八进制数 (0~7),遇8进1; 0开头的数表示八进制,比如 017
  • 十进制数(0~9),这就是我们常用的,遇10进1
  • 十六进制(0~9 A~F), 遇16进1;0x或0X开头的数表示十六进制 ,比如 0x1A

A~F 相当于 10~15

// 十进制数   15
// 二进制数   1111 = 1 * 2^3 + 1 * 2^2 + 1*2^1 + 1* 2^0 = 15
// 八进制数    017 =  1* 8^1 + 7* 8^0 = 8 + 7 = 15
// 十六进制    0xF = 15 * 16^0 = 15 * 1 = 15

// 十进制数  25
// 十六进制  0x19 = 1 * 16^1 + 9 * 16^0 =  16 + 9 = 25
  • 这篇文章:二进制换算十进制、八进制和十六进制。 也许能够解决你的问题,你可以看下
  • 除此之外, 这篇博客: 电脑的二进制、八进制、十进制、十六进制转换中的 电脑的二进制、八进制、十进制、十六进制转换 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 一、注意各进制的单位:
    1.二进制 1110101(b)
    2.八进制165(o)
    3.十六进制75(h) 或者ox75

    二、十进制转二进制方法:
    1.取余法:"除2取余,逆序排列"法
    2.将以2为底数的幂函数从右到左列出来,找出小于且最接近需计算数字的幂函数值,够减的写1,不够的写0,依次排列得到二进制
    3.同理:十进制转八进制 十六进制

    三、二进制转十进制
    1.要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。
    2.举例:二进制数1101.01转化成十进制1101.01=120+021+122+123 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25

    四、二进制转八进制
    1.1.将给定的二进制数从低位到高位一次每3位划分为1组,然后将每组用其对应八进制数的数码表示,结果就是转换成的八进制数。(小数点分界往两边三位三位数,两边不够的用0代替)八进制转为二进制,反过来即可。

    五、二进制转十六进制
    .将二进制数转换为等值的十六进制数称为二-十六进制转换,采用的方法是“四位一组法”,因为四位二进制数恰好有16个状态,分别对应十六制数的16个数码。(小数点分界往两边四位四位数,两边不够的用0代替)十六进制转为二进制,反过来即可。

    六、十进制负数转二进制方法
    ①除2取余,逆序排列,补够8位
    ②01互换,原码取反码
    ③反码+1,得补码(用逆向操作将二进制的负数转为十进制) (一个字节可以代表 -128到+127 一共256个值(127+1= -128))