Java学习之进制之间的转换
import java.util.*; public class Jinzhi { public static void main(String[] args) { /** * 总结: * 二进制转换八进制:每三位转换 * 二进制转换十六进制: 每四位转换 * 十进制转二进制:除以2取余数,得到的余数进行倒叙展示 * 二进制转十进制:二进制反转后,进行位数的2次幂相加 * (如:二进制 110 = 0*2^0 + 1*2^1 + 1*2^2 = 0 + 2 + 4 = 5) * (如:二进制 101 = 1*2^0 + 0*2^1 + 1*2^2 = 1 + 0 + 4 = 6) * 十进制负数转换:取正数的二进制取反在加一 * * 一个字节存储: * 第一位存储的是符号位,正是0,负是1, * 一个字节中取最小:正数最小二进制 0000 0001 负数最小是 1000 0000 * 一个字节中最小数:10000000 -128 * 一个字节中最大数:01111111 127 * * * 二进制 十进制 八进制 十六进制 * 0000 0000 0 0 0 * 0000 0001 1 1 1 * 0000 0010 2 2 2 * 0000 0011 3 3 3 * 0000 0100 4 4 4 * 0000 0101 5 5 5 * 0000 0110 6 6 6 * 0000 0111 7 7 7 * 0000 1000 8 10 8 * 0000 1001 9 11 9 * 0000 1010 10 12 a * 0000 1011 11 13 b * 0000 1100 12 14 c * 0000 1101 13 15 d * 0000 1110 14 16 e * 0000 1111 15 17 f * 0001 0000 16 20 10 * 0010 0000 32 40 20 * 0100 0000 64 80 40 * 1000 0000 128 160 80 * * 如二进制: 1101 0001 1011 0010 * 八进制: 321 262 * 十六进制: d1 b2 */ System.out.println(20);//十进制 20 System.out.println(020);//八进制 16 System.out.println(0x20);//十六进制 32 System.out.println(10);//十进制 10 System.out.println(010);//八进制 8 System.out.println(0x10);//十六进制 16 System.out.println(15);//十进制 15 System.out.println(015);//八进制 13 System.out.println(0x15);//十六进制 21 } }