(一)定义

进制也就是进位计数制,是人为定义的带进位的计数方法。
十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

(二)常用进制类型

1.二进制

计算机底层都是使用二进制进行存储以及运算
0b**;(以0b或者0B开始,*表示0或1)比如:010101
原码、反码、补码
原码
原码:将一个整数转换成二进制表示
以 int 类型为例,int类型占4个字节、共32位。
例如:
2 的原码为:00000000 00000000 00000000 00000010
-2的原码为:10000000 00000000 00000000 00000010
反码
反码
正数的反码:与原码相同
负数的反码:原码的符号位不变,其他位取反
例如,-2 的反码为:11111111 11111111 11111111 11111101
补码
补码
正数的补码:与原码相同
负数的补码:反码+1
例如,-2 的补码为:01111111 11111111 11111111 11111110
注意事项
二进制的最高位是符号位(“0”代表正数,“1”代表负数);
Java中没有无符号数;
计算机以整数的补码进行运算;

2.八进制

0**;(以数字0开始,*表示0到7任意数字 比如:012345)

3.十进制

0~9组成 比如:100

4.十六进制

0x**;(以0x或者0X开始,*表示0~9或者a~f组成 比如:0x12c)

(三)进制转换

十进制转二进制方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
150十进制转二进制
Java进制 - 图1


二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。
150二进制转十进制
Java进制 - 图2

二进制11101转化为十进制数是:

题目中 二进制转十进制:11101 = 1 20+0 21+1 22+1 23+1 * 24 = 1+0+4+8+16=29 答案为D

Java进制 - 图3