[Java复习] 进制

382 阅读3分钟

1. 进制简介

  1. 二进制: 元素[0,1]。满二进一,以ob开头。
  2. 八进制:元素[0,1,2,……,7]。满8进一,以0开头
  3. 十进制:元素[0,1,……,9]。满10进一
  4. 十六进制:元素[0,……,9,A(10),B(11),C(12),D(13),E(14),F(15)]。以0x开头,满16进一,字母不区分大小写。

2. 进制之间的转换

十进制十六进制八进制二进制
0000
1111
22210
33311
444100
555101
666110
777111
8881000
99101001
10A111010
11B121011
12C131100
13D141101
14E151110
15F161111
16101710000

3.1 二进制转十进制

规则: 从最低位开始,每位乘2的位数-1 次方,求和。即从右向左依次乘1 2 4 8 16 32……。也称“8421”原则。

  • 1011:1*1 + 1*2 +0*4 + 1*8 =11

3.2 八进制转十进制

规则: 从最低位开始,每位乘8的位数-1 次方,求和。即从右向左依次乘1 8 64 ……

  • 0234:4*1 + 3*8 + 2*64 + 0 = 156

3.3 十六进制转十进制

规则: 从最低位开始,每位乘16的位数-1 次方,求和。即从右向左依次乘1 16 256 4096 ……

  • 0x23A:10*1 + 3*16 + 2*256 =570

3.4 十进制转二进制

规则:将该数不断的除2直到商为0。然后将每步的余数倒过来,得到的就是对应的二进制。

  • 34:0b00100010

image-20220320193622634.png

3.5 十进制转八进制

规则:将该数不断的除8直到商为0。然后将每步的余数倒过来,得到的就是对应的八进制。

  • 131:0203

image-20220320201200283.png

3.6十进制转十六进制

规则:将该数不断的除16直到商为0。然后将每步的余数倒过来,得到的就是对应的十六进制。

  • 237:0xED

image-20220320202800373.png

3.7二进制转八进制

规则: 从最低位开始,三位一组,按照”421“原则转成对应的二进制即可。

  • 0b11010101: 0b11(3)010(2)101(5)==>0325

3.8二进制转十六进制

规则: 从最低位开始,四位一组,按照”8421“原则并求和,转成对应的十六进制即可。

  • 0b11010101:1101(D)0101(5)==>0xD5

3.8 八进制二进制

规则: 将八进制数每位数转为对应的3位二进制数即可。

  • 0237:02(010)3(011)7(111)==>0b 1001 1111

3.9 十六进制转二进制

规则: 将十六进制数每位数转为对应的4位二进制数即可。

  • 0x23B:2(0010)3(0011)B(1011)==>0b 0010 0011 1011

\