进制与进制的换算

常见的进制以及区分表示

二进制与十进制是基础,为了更方便地表示二进制数,引入的八进制和十六进制。

核心概念:按权展开

理解进制转换的关键是“按权展开”。一个任意 R 进制数,其数值等于每一位上的数字乘以 R 的相应次幂,然后相加。这个“权”就是基数(R)的次幂。这个原则适用于所有进制。

以十进制数 123.45 为例:123.45=1×100+2×10+3×1+4×0.1+5×0.01。

十进制数:R=10,R 也被称为基数。数字 1 位于百位,则 1 的权为十的二次方等于一百。

进制

  • 二进制
    • 数字前面加 0b 或 0B,比如 0b101
  • 八进制
    • 数字前面加 0,比如 073
  • 十进制
  • 十六进制
    • 数字前面加 0x,比如 0xC3

进制快速查看

int a = 25;
System.out.println(Integer.toBinaryString(a)); //二进制
System.out.println(Integer.toHexString(a));  //十六进制

进制换算

其他进制转换为十进制

  • 按权展开就行

十进制转换为其他进制

  • 按权展开反向求未知数就行
  • 比如求 5 的二进制表示,即 a×4+b×2+c×1=5,求得 a=1,b=0,c=1,则二进制表示为 0b101。

二、八、十六进制快速互转

规则:

  • 从小数点开始,向左和向右,每 3 位二进制数分为一组,不足 3 位的用 0 补齐,然后将每组分别转换为对应的八进制数,就是二转八进制。
  • 反之每一位八进制数转成三位二进制数,就是八转二进制。
  • 换成4位数一组就是二转十六进制。
  • 反之每一位十六进制数转成四位二进制数,就是十六转二进制。

文章作者: huan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 huan !
  目录