2進数、10進数、16進数をそれぞれ変換するための計算方法についてまとめる。
計算する前の前提として、重みについて理解する。
重みとはそれぞれの桁を表す数のこと。
ex. 10進数1234
10^04 = 4 10^13 = 30 10^22 - 200 10^31 = 1000 sum 1234
10^0、10^1、10*2...が重み。
ex. 2進数1101 2^01 = 1 2^10 = 0 2^21 = 4 2^31 = 8 sum 13
2^0、2^1、2^2...が重み。
2進数なら2、10進数なら10、16進数なら16。
重みとそれぞれの桁の数字を乗算し、全てを和算する。
ex. 1010 2^00 = 0 2^11 = 2 2^20 = 0 2^31 = 8 sum 10
ちょっと変わった割り算をする。 10進数から2進数にするには、2の割り算をし、余りがあれば1、なければ0とし、最後に計算した結果から余りを並べる。
ex. 100
100/2 = 50 余りなし 0
50/2 = 25 余りあり 0
25/2 = 12 余りなし 1
12/2 = 6 余りなし 0
6/2 = 3 余りあり 1
3/2 = 1 余りあり 1 // 最後が1になったら終了
下から並べる 110100
Ans. 110100
2進数の3桁は2^3=8 2進数を8進数に変換するには3桁ずつ区切って計算する 最後にそれぞれ区切って計算した結果を並べる。
ex. 100100
100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
sum 4
100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
sum 4
Ans. 44
ex. 1100
100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
sum 4
1
sum 1
Ans. 14
各桁の数字を3桁の2進数で表す。最後に上位の0は省略する。
ex. 117
7 → 111
1 → 001
1 → 001
001001111 → 100111
Ans. 100111
2進数の4桁は2^4=16 2進数を10進数に変換するには4桁ずつ区切って計算する 最後にそれぞれ区切って計算した結果を並べる。
16進数 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 10進数 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ex. 11001100
1100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
2^3*1 = 8
sum 12 → C
1100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
2^3*1 = 8
sum 12 → C
Ans. CC
ex. 1100
1100
2^0*0 = 0
2^1*0 = 0
2^2*1 = 4
2^3*1 = 8
sum 12 → C
Ans. C
各桁の数字を4桁の2進数で表す。最後に上位の0は省略する。
ex. 8B6
6 → 0110
B → 1011
8 → 1000
Ans. 100010110110