前言: 所有数字在计算机底层都是以二进制形式存在。
对于整数,有四种表示方式:
- 二进制:0,1 满2进1 以0b或0B开头
- 十进制:0-9 满10进1
- 八进制:0-7 满8进1 以数字0开头表示
- 十六进制:0-9及A-F 满16进1,以0x或0X开头表示。此处的A-F不区分大小写。如 0x21AF+1=0X21B0
代码演示:
@Test public void test4(){ int num1 = 0b110; //二进制 int num2 = 1100; //十进制 int num3 = 012365; //八进制 int num4 = 0x456e; //十六进制 //输出的结果都为十进制 System.out.println("num1="+num1); System.out.println("num2="+num2); System.out.println("num3="+num3); System.out.println("num4="+num4); }
输出结果为:
//都是十进制的数 num1=6 num2=1100 num3=5365 num4=17774
二进制转换为十进制:
举例:
10111011 的值表示 为十进制为多少?
思路推出 原码后按2的几次幂来运算求出值即可。
符号位为 1 表示为负数
-(26 +22+20)= -69
一、二进制转十进制详解
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
案例:请将0b1011转成十进制的数:
0b1011=1*2的(1-1)次方+1*2的(2-1)次方+0*2的(3-1)次方+1*2的(4-1)次方=1+2+8=11
二、八进制转十进制详解
三、十六进制转十进制详解
四、十进制转二进制详解
五、十进制转八进制
六、十进制转十六进制
七、二进制转八进制
八、二进制转十六进制
九、八进制转二进制