2進数とその各桁の重み
2進法(2進位取り記法)
次のように、例えば1と0という2つの記号だけで数を表現する方法(記数法)を2進法(2進位取り記法)と呼ぶ。
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111, 100000, ...(,は区切りを、...は省略を意味する)
このように2進法を用いて表した数を2進数(binary number)と呼ぶ。10進法では1桁に0から9までの十の値を持つことができるが、2進法では1つの桁に0か1かの二つの値しか持つことができない。
10進法では、9の次が10、99の次が100、999の次が1000、9999の次が10000というふうにすべての桁が9の値で満たされるごとに桁数が増え、位が1桁上がってゆくが、2進法では、1の次が10、11の次が100、111の次が1000、1111の次が10000...というふうにすべての桁が1の値で満たされるごとに桁数が増え、位が1桁上がってゆく。このようにして桁数を増やしてゆく表記方法を位取り記数法と呼ぶ。
10進法の場合:
2進法の場合:
n進数のnとは、その数の1桁(1つの位)が持つことができる値とその値を表す記号の数を意味しており、これを基数と呼ぶ。数学では底とも言う。10進数では10、2進数では2が、それぞれその基数(または底)である。
2進数が10進数ではどの数に対応しているか、つまり2進数の数が10進数ではどの数と等しい関係にあるかを表にしてみた。
2進数 | 10進数 |
---|---|
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | 10 |
1011 | 11 |
1100 | 12 |
1101 | 13 |
1110 | 14 |
1111 | 15 |
10000 | 16 |
10001 | 17 |
10010 | 18 |
10011 | 19 |
10100 | 20 |
10101 | 21 |
10110 | 22 |
10111 | 23 |
11000 | 24 |
11001 | 25 |
11010 | 26 |
11011 | 27 |
11100 | 28 |
11101 | 29 |
11110 | 30 |
11111 | 31 |
100000 | 32 |
100001 | 33 |
100010 | 34 |
100011 | 35 |
100100 | 36 |
100101 | 37 |
100110 | 38 |
100111 | 39 |
101000 | 40 |
101001 | 41 |
101010 | 42 |
101011 | 43 |
101100 | 44 |
101101 | 45 |
101110 | 46 |
101111 | 47 |
110000 | 48 |
110001 | 49 |
110010 | 50 |
110011 | 51 |
110100 | 52 |
110101 | 53 |
110110 | 54 |
110111 | 55 |
111000 | 56 |
111001 | 57 |
111010 | 58 |
111011 | 59 |
111100 | 60 |
111101 | 61 |
111110 | 62 |
111111 | 63 |
1000000 | 64 |
1000001 | 65 |
1000010 | 66 |
1000011 | 67 |
1000100 | 68 |
1000101 | 69 |
1000110 | 70 |
1000111 | 71 |
1001000 | 72 |
1001001 | 73 |
1001010 | 74 |
1001011 | 75 |
1001100 | 76 |
1001101 | 77 |
1001110 | 78 |
1001111 | 79 |
1010000 | 80 |
1010001 | 81 |
1010010 | 82 |
1010011 | 83 |
1010100 | 84 |
1010101 | 85 |
1010110 | 86 |
1010111 | 87 |
1011000 | 88 |
1011001 | 89 |
1011010 | 90 |
1011011 | 91 |
1011100 | 92 |
1011101 | 93 |
1011110 | 94 |
1011111 | 95 |
1100000 | 96 |
1100001 | 97 |
1100010 | 98 |
1100011 | 99 |
1100100 | 100 |
1100101 | 101 |
1100110 | 102 |
1100111 | 103 |
1101000 | 104 |
1101001 | 105 |
1101010 | 106 |
1101011 | 107 |
1101100 | 108 |
1101101 | 109 |
1101110 | 110 |
1101111 | 111 |
1110000 | 112 |
1110001 | 113 |
1110010 | 114 |
1110011 | 115 |
1110100 | 116 |
1110101 | 117 |
1110110 | 118 |
1110111 | 119 |
1111000 | 120 |
1111001 | 121 |
1111010 | 122 |
1111011 | 123 |
1111100 | 124 |
1111101 | 125 |
1111110 | 126 |
1111111 | 127 |
10000000 | 128 |
10進数の正の整数は、計算機やコンピュータの中では、上の表のように対応する2進数に変換されて扱われる。2進数での桁上がりは10進数では2, 4, 8, 16, 32, 64, 128のところで生じていることが、この表から分かる。これは直前の値のちょうど2倍になる数が並んだ等比数列である。
2進法におけるそれぞれの桁の重み(位)
n進数と10進数の対応関係を表すために桁の重みという概念がある。桁の重みは数学ではplace value(桁値または桁価)と呼ばれている。桁の重みは10進数で表される。桁の重みは次のように定義することができる。Wはある桁の重み、nはn進数のnを意味する基数、xはその桁が右端から何桁目かを表す自然数。指数においてxから1を引くのは、桁の数は実際には0から数えるからである。
このことは下のような表にしてみると直観的に分かりやすい。
各桁 | 1 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|
重み | ||||||
32 | 16 | 8 | 4 | 2 | 1 |
例えば2進数の整数1010110における下線部の桁は、右端から左へ数えて5桁目に位置しているので、2の「5マイナス1乗」すなわち2の4乗、
2進数の整数10110011の下線部の桁は右端から左へ数えて7桁目にあるので、2の「7マイナス1乗」すなわち2の6乗、
2進数の整数11101の下線部の1は右端から左へ数えて3桁目にあるので、2の「3マイナス1乗」すなわち2の2乗、
2進数における負の整数での桁の重み
英語では負数をネガティブ・ナンバーと呼び、引き算の「引く」をマイナスと呼ぶので、ここではその呼び方に従っている。
例えばネガティブを意味する符号-が付けられた負の整数-11101の下線部の1は右端から左へ数えて4桁目にあるので、
負(ネガティブ)の数の重みは
2進数における小数点以下での桁の重み
2進数の小数点以下の桁の重みはどうなるのだろうか。例えば、2進数11.00101の下線部の1は小数点から右へ数えて5桁目にあるので、
桁の重みは、その桁が右端から左へ何桁目であるかを数え、2進数なら2をその序数(~番目)の回数だけ倍にしてやることで求められる。小数点以下の場合には、小数点から右に何桁目であるかを数え、そのn桁目の回数だけ2進数の2を倍にすることで、その桁が持つ重みを求めることができる。
各桁 | -(1 | 1 | 1 | 1 | 1 | 1) |
---|---|---|---|---|---|---|
重み | ||||||
-32 | -16 | -8 | -4 | -2 | -1 |
各桁 | 1. | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|
重み | ||||||
1.0 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 |
小数点以下についても一目瞭然。小数点以上(小数点の左側)は右端と同じ意味であるが、あえて負の指数表記か分数か小数点付きで表してある。
負(ネガティブ)の指数を持つ累乗は次のような数式を表している。要するに、分子を1、分母を
それぞれの桁が持つ重みという概念は、それぞれの桁が持つ単位を意味する。それぞれの桁として記された数をその重みのぶんだけ掛ける(n倍にする)ことによってその各桁(位)の正しい値を弾き出すことができる。
まとめ
- 2進数の正(ポジティブ)の整数の各桁の重みは(nは右端から左へ数えてn桁目):
- 2進数の負(ネガティブ)の整数の各行の重みは(nは右端から左へ数えてn桁目):
- 2進数の正(ポジティブ)の小数点以下の各桁の重みは(nは小数点から数えてn桁目):
- 2進数の負(ネガティブ)の小数点以下の各桁の重みは(nは小数点から数えてn桁目):
コメント
コメントを投稿