私たちは10進数を使っています。これは「人間の指が10本だったから!」との事らしい。しかし機械には指がありませんから、10進数を使う意味はありません。
では機械にとって都合の良いものとは・・・。と考えると答えが見つかります。
機械は賢くありませんから、単純でなければいけません。そこで最も単純な「あるか、ないか」。つまり「1か0か」という2進数が生まれたのです。
2進数は人間にとってはわかりにくく、なんでこんなものを使うのか!と思ったものでした。
現在のパソコンからは2進数の表現はほとんど無くなってしまいましたね。でもこれは機械が人間に合わせているので、余分な作業をしていることになります。
今のパソコンほど高性能ならほとんど問題はないのですが、もっと簡素に、もっと安価にと突き詰めると人間が機械に合わせることになります。
そこで、デジタル回路やマイコンの基数となっている2進数について考えて見ましょう。
|
| まずは10進数 |
ご承知のように10進数は左隣の桁は10倍の重みです。
右の図で「123」は右桁から
1が3個、1×10が2個、1×10×10が1個。 |
.jpg) |
書き直すと
102×1+101×2+100×3 です。 |
|
|
| では2進数 |
10進数と同じ考えで2進数は左隣の桁は2倍の重みです。
右の図で「100」は右桁から
1が0個、1×2が0個、1×2×2が1個。 書き直すと |
.jpg) |
| 22×1+21×0+20×0=4+0+0=4(10進数)です。 |
|
ちなみにこの「100」は百と言ってはいけません。百は10進数の単位ですから、「イチゼロゼロ」と読みます。
2進数の計算は、関数電卓でできますので別の機会に譲るとしましょう。 |
|
2進数は数値としては何も難しくないのですが、困った問題があります。
たとえば、1000(10進数)を2進数で表すと、1111101000
1000000(10進数)なら、11110100001001000000 です。
あまりにも桁が多すぎて、数値の大きさが直感でないのです。
もともと直感がない機械には問題ありませんが、アバウトな人間には苦痛です。
10進数でも桁が多くなると区切りをいれますね。
1000→1,000 1000000→1,000,000
そこで2進数も区切って見やすくならないか?と考えることになります。 |