一、进制的分类
-
十进制(decimal)
-
数字组成:0-9
-
进位规则:满十进一
-
-
二进制(binary)
-
数字组成:0-1
-
进位规则:满二进一,以0b或0B开头
-
-
八进制(octal):很少使用
-
数字组成:0-7
-
进位规则:满八进一,以数字0开头表示
-
-
十六进制
-
数字组成:0-9,a-f
-
进位规则:满十六进一,以0x或0X开头表示。此处的 a-f 不区分大小写
-
int num1 = 123; //十进制
int num2 = 0b10; //二进制
int num3 = 023; //八进制
int num4 = 0x23a; //十六进制
System.out.println(num1);//123
System.out.println(num2);//2
System.out.println(num3);//19
System.out.println(num4);//579,输出为十进制
二、二进制转十进制
二进制如何表示整数?
-
计算机数据的存储使用二进制补码形式存储,并且最高位是符号位。
-
正数:最高位是0
-
负数:最高位是1
-
-
规 定
-
正数的补码与反码、原码一样,称为三码合一
-
负数的补码与反码、原码不一样:
-
负数的原码:把十进制转为二进制,然后最高位设置为1
-
负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)
-
负数的补码:反码+1
-
-
二进制转十进制:权相加法
十进制转二进制:除二取余的逆