2進法、10進法、16進法 |
現在のコンピューターは、基本的に、すべて2進数を高速演算する事で動作しています。 2進数の表記には、単純ですが桁数が長くなる、という欠点があります。 それを補うために、2進数を最下位ビットから、4ビットごとに区切って、 16進数で表す方法が、一般的です。 |
8桁 | 7桁 | 6桁 | 5桁 | 4桁 | 3桁 | 2桁 | 1桁 | |
10進法 | a×107 | b×106 | c×105 | d×104 | e×103 | f×102 | g×101 | h×100 |
a〜hには、0,1,2,3,4,5,6,7,8,9の数字が入る。 | ||||||||
2進法 | a×27 | b×26 | c×25 | d×24 | e×23 | f×22 | g×21 | h×20 |
a〜hには、0か1の数字が入る。 | ||||||||
16進法 | a×167 | b×166 | c×165 | d×164 | e×163 | f×162 | g×161 | h×160 |
a〜hには、0,1,2,3,4,5,6,7,8,9の数字か,ABCDEFの文字が入る。 |
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
2進数 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
16進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
10進数の「126」を、2進数と16進数にする方法 | |
2進法 126÷2=63 あまり 0 63÷2=31 ・・・・・・・1 31÷2=15 ・・・・・・・1 15÷2=7 ・・・・・・・・1 7÷2=3 ・・・・・・・・1 3÷2=1 ・・・・・・・・1 赤い文字が最初の桁で、次に青い文字を下から順に、「1111110」となる。 8桁で表すと、「01111110」となる。 |
16進法 126÷16=7 あまり 14 14は、Eだから 「7E」となり、「7EH」と、表記する。 16進数では、最後に「H」を付けて表記するのが、一般的です。 |
10進数への、戻し方 | |
2進数→10進数 「01111110」 表1に代入する。 8桁 0×27 =0 7桁 1×26 =64 6桁 1×25 =32 5桁 1×24 =16 4桁 1×23 =8 3桁 1×22 =4 2桁 1×21 =2 1桁 0×20 =0 数字を全て+する。 「126」 |
16進数→10進数 「7EH」 表1に代入する。 「H」は、考えないので 2桁 7×161 =112 1桁 14×160 =14 (どんな数字でも0乗は1) 112+14=126 「126」 |
2進数の、「01010011」を、10進数と16進数で表す方法 | |
10進数 1×26+1×24+1×21+1×20 =64+16+2+1 =83 83 |
0は、考えなくて、 数字のある桁に、1を代入する。 |
16進数 01010011を、4桁ずつに区切り 「0101」を2進法で、1×22+1×20=4+1=5 「0011」を2進法で、1×21+1×20=2+1=3 53H |
上の表2から、 0101=5 0011=3 53H |