《基数変換》
Create:2002/02/11
[BACK] [NEXT] [メニュー]
   コンピュータの世界は2進数だが、人間が見てもわかりやすいように3桁ごとにまとめて
   8進数で表したり、4桁ごとにまとめて16進数で表したりする。
   2進数の“2”,8進数の“8”,10進数の“10”,16進数の“16”をその表現の
   基数という。
    ̄ ̄

   2進,8進,10進,16進数の対応表を以下に示す。

      2進数  8進数 10進数 16進数
        0    0    0    0
        1    1    1    1
       10    2    2    2
       11    3    3    3
      100    4    4    4
      101    5    5    5
      110    6    6    6
      111    7    7    7
     1000   10    8    8
     1001   11    9    9
     1010   12   10    A
     1011   13   11    B
     1100   14   12    C
     1101   15   13    D
     1110   16   14    E
     1111   17   15    F
    10000   20   16   10


   N進数の各桁には重みが付く
         右から順に“Nの0乗”
              “Nの1乗”
              “Nの2乗”
         X桁目は “Nの(X−1)乗”
   という重みになる。


【N進数の小数表現】
   考え方はN進数全てに共通である。
   小数点以下は左から順に“Nの−1乗”=1/N 
              “Nの−2乗”=1/Nの2乗
              “Nの−3乗”=1/Nの3乗
         Y桁目は “Nの(−Y)乗”=1/NのY乗
   という重みになる。

   例)
    10進数0.111の場合

      小数点以下第一位の桁は、1/10(0.1)の位となる。
      小数点以下第二位の桁は、1/100(0.01)の位となる。
      小数点以下第三位の桁は、1/1000(0.001)の位となる。

    0.1  =1/10  =             1/(10^1)
    0.01 =1/100 =1/(10×10)   =1/(10^2)
    0.001=1/1000=1/(10×10×10)=1/(10^3)


   例)
    2進数0.111の場合
  
      小数点以下第一位の桁は、1/2の位となる。
      小数点以下第二位の桁は、1/4の位である。
      小数点以下第三位の桁は、1/8の位である。

    0.1   = 1/2 =            1/(2^1)
    0.01  = 1/4 = 1/(2×2)  = 1/(2^2)
    0.001 = 1/8 = 1/(2×2×2)= 1/(2^3)


    2進数    10進数に変換        10進数  
     ̄ ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
    0.1    1/(2^1)= 1/2   0.5
    0.01   1/(2^2)= 1/4   0.25
    0.001  1/(2^3)= 1/8   0.125

    よって、2進数0.111を10進数で表すと
    0.5 + 0.25 + 0.125 = 0.875 になる。


   例)
    16進数0.111の場合
  
      小数点以下第一位の桁は、1/16の位となる。
      小数点以下第二位の桁は、1/256の位である。
      小数点以下第三位の桁は、1/4096の位である。
                   
    0.1  = 1/16 =             1/(16^1)
    0.01 = 1/256= 1/(16×16)  =1/(16^2)
    0.001=1/4096=1/(16×16×16)=1/(16^3)

    16進数   10進数に変換    10進数  
     ̄ ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄    ̄ ̄ ̄ ̄ ̄ ̄ 
    0.1    1/(16^1) = 1/16
    0.01   1/(16^2) = 1/256
    0.001  1/(16^3) = 1/4096

    よって、16進数0.111を10進数で表すと
    1/16 + 1/256 + 1/4096 
    256/4096 + 16/4096 1/4096
    = 273/4096 になる。



   例)
    10進数の123.456

     123.456
    =1*10^2 + 2*10^1 + 3*10^0 +
     4*10^−1 + 5*10^−2 + 6*10^−3
    =100 + 20 + 3 + 0.4 + 0.05 + 0.006
    =123.456
    となる。


   小数の2進数,8進数,10進数,16進数の対応表を以下に示す
      2進数          8進数   10進数        16進数
      0.1                0.5
      0.01               0.25
      0.001        0.1   0.125
      0.0001             0.0625      0.1
      0.00001            0.03125
      0.000001     0.01  0.015625
      0.0000001          0.0078125
      0.00000001         0.00390625  0.01 
      0.000000001  0.001 0.001953125


【2進数 (Binary Number)】
   0と1の2種類の数字を使用する。
   2桁以上の数については、各桁に2^0の重みが付加する。

   例)
    2進数の1001.1001を10進数で表す

     1011.1001 
    =1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 +
     1*2^−1 + 0*2^−2 + 0*2^−3 + 1*2^−4
    =8 + 2 + 1 + 0.5 + 0.0625
    =11.5625
    となる。

【8進数 (Octal Number)】
   0,1,2,3,4,5,6,7の8種類の数字を使用する。
   2桁以上の数については、各桁に8の重みが付加する

   例)
    8進数の13.44を10進数で表す 

     13.44
    =1*8^1 + 3*8^0 + 4*8^−1 + 4*8^−2
    =8 + 3 + 0.5 +  0.0625
    =11.5625
    となる。

【16進数 (Hexadecimal Number)】  
   0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
   の16種類の数字を使用する。
   2桁以上の数については、各桁に16の重みが付加する。

   例)
    16進数のB.9は 

     B.9
    =11*16^0 + 9*16^−1
    =11 + 0.5625 
    となる。


【10進整数をN進数に変換する】
   10進整数をN進数に変換する場合は、Nで割りその答えをまたNで割るということを
   0になるまで繰り返す。
   あまりを下から上へ順に並べたものが変換した値となる。

   例)
    10進数の9を2進数に変換する

      9÷2 = 4 あまり 1 ↑
            │       │
      ┌─────┘       │
      ↓             │
      4÷2 = 2 あまり 0 │
            │       │
      ┌─────┘       │
      ↓             │
      2÷2 = 1 あまり 0 │
            │       │
      ┌─────┘       │
      ↓             │
      1÷2 = 0 あまり 1 │

     よって、10進数9を2進数で表すと1001になる。
                       ̄ ̄ ̄ ̄


【10進小数をN進数に変換する】
   10進小数をN進数に変換する場合は、Nを掛け小数点以下の部分だけに、またNを掛ける
   ということを小数点以下が0になるまで繰り返す。
   整数の部分を上から下へ順に並べたものが変換した値となる。

   例)
    10進数0.125を2進数に変換する

      0.125 × 2 = 0.25 整数の部分 −> 0 │
      小数点以下を再計算する                 │
      0.25  × 2 = 0.5  整数の部分 −> 0 │ 
      小数点以下を再計算する                 │
      0.5   × 2 = 1.0  整数の部分 −> 1 ↓ 
      小数点以下は0のため計算終了

     よって、10進数の0.125を2進数で表すと、0.001になる。
                             ̄ ̄ ̄ ̄ ̄   

   例)
    10進数0.1を2進数に変換する

      0.1 × 2 = 0.2 整数の部分 −> 0 │
      小数点以下を再計算する              │
      0.2 × 2 = 0.4 整数の部分 −> 0 │
      小数点以下を再計算する              │
      0.4 × 2 = 0.8 整数の部分 −> 0 │
      小数点以下を再計算する              │
      0.8 × 2 = 1.6 整数の部分 −> 1 │
      小数点以下を再計算する              │
      0.6 × 2 = 1.2 整数の部分 −> 1 │
      小数点以下を再計算する              │
      0.2 × 2 = 0.4 整数の部分 −> 0 │
      小数点以下を再計算する              │
      0.4 × 2 = 0.8 整数の部分 −> 0 │
      小数点以下を再計算する              │
      0.8 × 2 = 1.6 整数の部分 −> 1 ↓
      小数点以下を再計算する
          :                :
          :                :
          :                :
     以下、これの繰り返しとなる。2進数で表すと
        0.00011001・・・ となり
     いつまでたっても終わらない。このような小数を無限小数という。
                            ̄ ̄ ̄ ̄
     10進数0.125を2進数で表した場合は0.001となった。
     これは有限小数という
         ̄ ̄ ̄ ̄

【N進数の桁数】
   ある数値XをN進数で表す場合の桁数は、Nを底とする対数
   LogN(X)+1 となる。

   例)
    10進数1000の場合

      Log10(1000)+1
      = 3 + 1 = 4桁となる
                 ̄ ̄ ̄ ̄ ̄
   例)
    10進数16を2進数で表す場合の桁数

      Log2(16)+1
      Log2(2^4)+1
      = 4 + 1 = 5桁となる

[BACK] [NEXT] [メニュー]

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!