n進数の計算方法の整理。
問題点、もっとスマートな方法などあればご指摘お願いします。
10進数からn進数
整数:nで割って下から余りを並べる
少数:nを掛けて順に整数を並べる
10進数から2進数
例:10の2進数
10 ÷ 2 = 5 余り 0
5 ÷ 2 = 2 余り 1
2 ÷ 2 = 1 余り 0
1 ÷ 2 = 0 余り 1
逆から並べて 2進数 :1010
例:357の2進数
357 ÷ 2 = 178 余り 1
178 ÷ 2 = 89 余り 0
89 ÷ 3 = 44 余り 1
44 ÷ 2 = 22 余り 0
22 ÷ 2 = 11 余り 0
11 ÷ 2 = 5 余り 1
5 ÷ 2 = 2 余り 1
2 ÷ 2 = 1 余り 0
1 ÷ 2 = 0 余り 1
逆から並べて 2進数:101100101
例:6.375の2進数
整数部分
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
= 110
少数部分
1、少数部分が「0」になるまで2で掛ける
2、上から整数部分を並べる
0.375 × 2 = 0.75
0.75 × 2 = 1.5
0.5(1.5の少数部分) × 2 = 1.0(少数部分が0になったので終了)
110 + 011 = 2進数は110.011
10進数から8進数
8進数
0 , 1, 2 , 3 , 4 , 5 , 6 , 7 , 10 , 11 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 20・・・
10進数を8で割っていき、余りを下から並べる(流れは2進数と同じ。2が8に変わった)
240の8進数
240 ÷ 8 = 30 余り 0
30 ÷ 8 = 3 余り 6
3 ÷ 8 = 0 余り 3
8進数: 360
10進数から16進数
16進数
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F , 10
例:158の16進数
158 ÷ 16 = 9 余り 14( =E )
9 ÷ 16 = 0 余り 9
16進数: 9E
例:1375の16進数
1375 ÷ 16 = 1360 余り 15( = F )
1360 ÷ 16 = 85
85 ÷ 16 = 5 余り 5
5 ÷ 16 = 0 余り 5
n進数から10進数
nのn乗が重み
nに重みを掛けていき、その結果を足し合わせていく。
例:2の重みは2 , 4 , 8 , 16 , 32 , 64 , 128 , 256 , 612 , 1024・・・
2進数から10進数
例:1010の10進数
2進数に重みを掛けていく
1 × 8 = 8
0 × 4 = 0
1 × 2 = 2
0 × 1 = 0
掛けた結果を足し合わせる
8 + 2 = 10
例:11001010の10進数
1 × 128 = 128
1 × 64 = 64
0 × 32 = 0
0 × 16 = 0
1 × 8 = 8
0 × 4 = 0
1 × 2 = 2
0 × 1 = 0
128 + 64 + 8 + 2 = 202
8進数から10進数
例:1427の10進数
1 × 512 = 512
4 × 64 = 256
2 × 8 = 16
7 × 1 = 7
512 + 256 × 16 × 7 = 791
16進数から10進数
例:5C7の10進数
C = 12
5 × 256 = 1280
12 × 16 = 192
7 × 1 = 7
1280 + 192 × 7 = 1479