2進法、10進法、16進法

現在のコンピューターは、基本的に、すべて2進数を高速演算する事で動作しています。
2進数の表記には、単純ですが桁数が長くなる、という欠点があります。
それを補うために、2進数を最下位ビットから、4ビットごとに区切って、
16進数で表す方法が、一般的です。

表1
8桁 7桁 6桁 5桁 4桁 3桁 2桁 1桁
10進法 a×10 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×2 b×26 c×25 d×24 e×23 f×22 g×21 h×20
a〜hには、0か1の数字が入る
16進法 a×16 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の文字が入る。

表2
10進数 10 11 12 13 14 15
2進数 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
16進数

10進数の「126」を、2進数と16進数にする方法
2進法
 126÷2=63 あまり 
  63÷2=31 ・・・・・・・
  31÷2=15 ・・・・・・・
  15÷2=7 ・・・・・・・・
   7÷2=3 ・・・・・・・・
   3÷2=・・・・・・・・

赤い文字が最初の桁で、次に青い文字を下から順に、「1111110」となる。
8桁で表すと、「01111110」となる。
16進法

 126÷16=  あまり 14

 14は、だから
  
  「7E」となり、「7EH」と、表記する。

16進数では、最後に「H」を付けて表記するのが、一般的です。

10進数への、戻し方
2進数→10進数
   「01111110」
 表1に代入する。
  8桁 0×2  =0
  7桁 1×2  =64
  6桁 1×2  =32 
  5桁 1×2  =16
  4桁 1×2  =8
  3桁 1×2  =4
  2桁 1×2  =2
  1桁 0×2  =0

 数字を全て+する。  「126
16進数→10進数

   「7EH」
 表1に代入する。

 「H」は、考えないので

  2桁  7×16 =112
  1桁 14×16 =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×2+1×2=4+1=5
   「0011」を2進法で、1×2+1×2=2+1=3        
                              53H
  上の表2から、
    0101=5
    0011=3

         53H