java-进制转换

进制转换

二进制:用0和1表示,满2进1 00001110

最高位是符号位,符号位0:正数,1:负数

以00001110为例,对应的十进制为14 1*2^3+1*2^2+1*2^1=14
00001110 符号位是0,为正数。
10001110 -14的原码
11110001 -14的反码
11110010 -14的补码=-14的反码+1
计算机底层都以补码的方式来存储数据!(无论正负)

01111111 +127
11111111 -127的原码
10000000 -127的反码
10000001 -127的补码
10000000 -128的补码

八进制:012
十进制:124
十六进制:0x110A或0X110A

二进制与十进制的转换

十进制-->二进制:除2取余的逆

举例:

 从下往上看余数  00001101,就是13所对应的的二进制。

二进制与其他进制的转换

如:二进制转八进制 2^3=8     转换的时候3个一位:如111转换成7

进制转换调用方法:

转换成二进制:static String      toBinaryString(int i)

转换成八进制:static String      toOctalString(int i)

转换成十六进制:static String      toHexString(int i)

进制的表示例子:

/*
二进制:
十进制:

*/ class BinaryTest{ public static void main(String[] args){ int num1 = 0b110;//2进制 int num2 = 110;//10进制 int num3 = 0127;//8进制 int num4 = 0x110A;//16进制 System.out.println("num1="+num1); System.out.println("num2="+num2); System.out.println("num3="+num3); System.out.println("num4="+num4); //输出的都是十进制 } }

  编译运行结果:

原文地址:https://www.cnblogs.com/SpringChuXin/p/13388628.html