0 または 1 の 2 種類を表せる情報量を 1 ビットという。
1 ビット・・・0 , 1 の2種類の情報
2 ビット・・・00 , 01 , 10 , 11 の4情報
3 ビット・・・000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 の8種類
n ビット・・・2n種類
8 ビット を 1 byte という単位にまとめる。
8ビット・・・28種類 = 256 種類 = 1 byte
【SI接頭辞】
記号 | 接頭辞 | 2n | 10n | 漢数字表記 (命数法) |
十進数表記 | |
Y | ヨタ | yotta | 280 | 1024 | 一秭(じょ) | 1 000 000 000 000 000 000 000 000 |
Z | ゼタ | zetta | 270 | 1021 | 十垓(がい) | 1 000 000 000 000 000 000 000 |
E | エクサ | exa | 260 | 1018 | 百京 | 1 000 000 000 000 000 000 |
P | ペタ | peta | 250 | 1015 | 千兆 | 1 000 000 000 000 000 |
T | テラ | tera | 240 | 1012 | 一兆 | 1 000 000 000 000 |
G | ギガ | giga | 230 | 109 | 十億 | 1 000 000 000 |
M | メガ | mega | 220 | 106 | 百万 | 1 000 000 |
k | キロ | kilo | 210 | 103 | 千 | 1 000 |
h | ヘクト | hecto | 102 | 百 | 1 00 | |
da | デカ | deca, deka |
101 | 十 | 1 0 | |
20 | 100 | 一 | 1 | |||
d | デシ | deci | 10-1 | 十分の一(分) | 0.1 | |
c | センチ | centi | 10-2 | 百分の一(厘) | 0.01 | |
m | ミリ | milli | 10-3 | 千分の一(毛) | 0.001 | |
μ | マイクロ | micro | 10-6 | 百万分の一 | 0.000 001 | |
n | ナノ | nano | 10-9 | 十億分の一 | 0.000 000 001 | |
p | ピコ | pico | 10-12 | 一兆分の一 | 0.000 000 000 001 | |
f | フェムト | femto | 10-15 | 千兆分の一 | 0.000 000 000 000 001 | |
a | アト | atto | 10-18 | 百京分の一 | 0.000 000 000 000 000 001 | |
z | ゼプト | zepto | 10-21 | 十垓分の一 | 0.000 000 000 000 000 000 001 | |
y | ヨクト | yocto | 10-24 | 一秭分の一 | 0.000 000 000 000 000 000 000 001 |
2進数とは、0 と 1 の 2 種類の数字だけを使って、数値を表現する方法をいう。
0 → 1 と数えて その次は 10 と桁上がりする。2 進数の場合、2 の倍数になったとき、桁上がりする。
10進数: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | |
2進数: | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
このように、数を組み立てる基になる数を基数という。
2 進数の場合は、基数は 2 、10 進数の場合は 10 が基数になる。
n を基数とする数え方を n 進数と呼ぶ。
2進数 | 8進数 | 10進数 | 16進数 |
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 |
10001 | 21 | 17 | 11 |
10010 | 22 | 18 | 12 |
10011 | 23 | 19 | 13 |
10100 | 24 | 20 | 14 |
● 整数の場合
これは、対象の10 進数を 2 で割り算を行い、この商が 2 より小さくなるまで繰り返して、余りを右に倒す。
下は、10 進数 37 を 2 進数へ変換する過程を表す。
上記の余りを右へ倒して、100101(2)となる。8進数(8で割り算)と16進数(16で割り算)も同様に行う。
● 小数の場合
小数の場合は、対象の10進数を 2 で乗じて整数部を順次取り出す。この処理を小数部が「0」になるまで繰り返す。
0.375(10)を2進数へ変換する場合
0.375×2=0.75
0.75×2=1.5
0.5×2=1.0
よって、上記の太字の部分を上から並べて、0.011(2)となる。
※小数の場合は、必ず変換出来るとは限らない。このことを、無限小数という。例えば、10進数で有限小数を2進数へ変換した場合、必ず有限桁で表現出来るとは限らない。
小数点を含む 10進数から 2進数へ基数変換するには、まず整数部分と小数部分に分けて考える。 整数部分は 2 で割っていく操作、小数部分は 2 を掛けていく操作で変換することができる。
たとえば、10進数 5.625 を 2進数へ基数変換する場合、整数部分と小数部分に分けて計算していく。
整数部分の基数変換は、2で割り続けるのでいつかは必ず商が 0 となるが、小数部分は、2を掛け続けても .0 とならない場合がある。 例えば、10進数 0.2 を 2進数に基数変換すると、0.2 × 2 = 0.4、0.4 × 2 = 0.8、 0.8 × 2 = 1.6、0.6 × 2 = 1.2、0.2 × 2 = 0.4 ・・・ となり、一番最初の計算と戻ってしまう。 つまり、2進数では、0.001100110011 ・・・ と“0011”が繰り返されるので循環小数(無限小数)になる場合がある。
10 進数の 0.1 や 0.01 等は 2 進数に直すと無限小数になる。
2進小数が有限小数になるのは、乗算結果の小数部が乗算を繰り返す途中で0になる場合だけである。0.5、0.5の1/2の0.25、その1/2の0.125など、またこれらを加算した0.75や0.375などは有限小数となる。
2 進数から 10 進数への変換は、桁の重みづけを使って計算する。
重み付けとは、各桁の値に基数のべき乗をかけて計算することを言う。
基数が n であれば、桁数の数値に n の 桁数 - 1 の乗じたものを重みづけという。。
2 進数の 3 桁目の重みづけは 1 に 23-1 をかける。
たとえば、1011(2) の 2 進数を 10 進数にする場合、
1 | 0 | 1 | 1 | |||
↓ | ↓ | ↓ | ↓ | |||
1 × 23 | 0 × 22 | 1 × 21 | 1 × 20 | |||
↓ | ↓ | ↓ | ↓ | |||
8 | + | 0 | + | 2 | + | 1 |
↓ | ||||||
11 |
8 進数から 10 進数への変換も、桁の重みづけを使って計算する。
1 | 2 | 3 | 4 | |||
↓ | ↓ | ↓ | ↓ | |||
1 × 83 | 2 × 82 | 3 × 81 | 4 × 80 | |||
↓ | ↓ | ↓ | ↓ | |||
512 | + | 128 | + | 24 | + | 4 |
↓ | ||||||
668 |
16 進数から 10 進数への変換も、桁の重みづけを使って計算する。
1 | A | C | 4 | |||
↓ | ↓ | ↓ | ↓ | |||
1 × 163 | 10 × 162 | 12 × 161 | 4 × 160 | |||
↓ | ↓ | ↓ | ↓ | |||
4096 | + | 2560 | + | 192 | + | 4 |
↓ | ||||||
6852 |
2進数の桁を右から3桁 (3ビット) づつに区切り、その3桁を8進数一桁に直す。
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
↓
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||
↓ | ↓ | ↓ | |||||||
3 | 7 | 7 | |||||||
↓ | |||||||||
377(8) |
2進数の桁を右から4桁 (4ビット) づつに区切り、その4桁を16進数一桁に直す。
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
↓
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
↓ | ↓ | |||||||
F | F | |||||||
↓ | ||||||||
FF(16) |
8進数の1桁を3桁の2進数に変換する。3桁に満たない場合は左に0をつけて3桁にする。
231(8) | |||||||||
↓ | |||||||||
2 | 3 | 1 | |||||||
↓ | ↓ | ↓ | |||||||
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
↓
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
16進数の1桁を4桁の2進数に変換する。4桁に満たない場合は左に0をつけて4桁にする。
A8(16) | ||||||||
↓ | ||||||||
A | 8 | |||||||
↓ | ↓ | |||||||
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
↓
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
・8進数1桁は、2進数3桁で表現される。
・16進数1桁は、2進数4桁で表現される。
2進数の計算もまた、10進数と同じように行うことが出来ます。違いは10でなくて、2になったら桁が上るというところだけです。1よりも大きくなったら桁が上る。
2進数では2×2の4パターンしかない。四則演算を全て合わせてもわずか16パターンになる。2進数は10進数と比べてかなり単純なものとなっている。
2進数での四則演算の全パターンは以下の通り。
除算は「/」で表している。
【 加算 】
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
【 減算 】
0 - 0 = 0
0 - 1 = -1
1 - 0 = 1
1 - 1 = 0
【 乗算 】
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1
【 除算 】
0 / 0 = 不定
0 / 1 = 0
1 / 0 = 不能
1 / 1 = 1
www.it-shikaku.jp