進位

各種進位表示方式

  • 2進位: 滿2進位,0b或0B開頭。
  • 10進位: 滿10進位。
  • 8進位: 滿8進位,0開頭。
  • 16進位: 滿16進位,0x或0X開頭,a或A都可以。
1
2
3
4
5
6
7
8
int n2 = 0b1010;
int n10 = 1010;
int n8 = 01010;
int n16 = 0X1010;
System.out.println(n2);
System.out.println(n10);
System.out.println(n8);
System.out.println(n16);
10
1010
520
4112

二進位,滿2進位。

 1
+1
---
10
 11
+ 1
---
100 

8進位,滿8進位。

 7
+1
---
10
 17
+ 1
---
 20

16進位,滿16進位。

  F
+ 1
----
 10
 1F
+ 1
---
 20
重要轉換 10進位 16進位 8進位 2進位
  0 0 0 0
  1 1 1 1
> 2 2 2 10
  3 3 3 11
  4 4 4 100
  5 5 5 101
  6 6 6 110
  7 7 7 111
> 8 8 10 1000
  9 9 11 1001
  10 A 12 1010
  11 B 13 1011
  12 C 14 1100
  13 D 15 1101
  14 E 16 1110
  15 F 17 1111
> 16 10 20 10000
  17 11 21 10001

轉換

重點提示!任何數的0次方都是1。

16進位轉10進位

0x23A 
    ↑
    低位

由低位往高位計算

$ 10 \times 16^{0} + 3 \times 16^{1} + 2 \times 16^{2} = 10 + 48 + 512 = 570 $

1
System.out.println(0x23A);

570

10進位轉2進位、8進位、16進位

取餘數。

2進位轉8進位16進位

2進位轉8進位

從低位開始,每3個一組。

0b 11 010 101
↓
0   3   2   5

2進位轉16進位

從低位開始,每4個一組。

0b 1101 0101
↓
0x    D    5   

8進位16進位轉2進位

8進位轉2進位

每一個數字,對映3個bit

0   3   2   5
↓
0b 11  010 101

16進位轉2進位

每一個數字,對映4個bit

results matching ""

    No results matching ""