Deutsch · English · Français · Español · العربية · 中文 · 日本語
ドイツ語原文の自動翻訳:Claude(Anthropic 社の AI モデル)。
ピクセル、ビット、累乗
画像はどうやって画面に映るのでしょう?いちばん根っこのところは単純です。ピクセルはどれも、点いているか消えているかのどちらか――電気が流れているか、いないか。そして8つのピクセルがひとつのメモリセルに収まるので、模様がひとつの数になるのです。
はじまり
このアイデアは、BASIC でプログラムできるポケットコンピューター、シャープ PC-1402 から生まれました。コマンド POKE 8192,240 で数240をメモリセル8192に書きこむと、表示画面にピクセルが一列光りました。そのすぐ左の列はアドレス8193、その次は8194。どの数がどのピクセルを点けるかを知っていれば、BASIC の数行で自分の絵を画面に描けたのです。
表示画面
列はどれも、アドレスのついたメモリセルです。いちばん右が8192、その左が8193、という具合です。行にはそれぞれ値があります。いちばん下が1、その上が2、4、8……いちばん上が128。ピクセルをクリックしてみよう――各列の下に、そのメモリセルに入っている数が出ます。
1列の8つのピクセルがすべて点いたとき:128+64+32+16+8+4+2+1 = 255
コマンドになった絵
コンピューターはあなたの絵をこうやってメモリに書きこみます:
自分で POKE してみよう
1行に1つのコマンド: POKE アドレス, 値
なぜ 1、2、4、8……なのか?
ピクセルには、点いているか消えているかの2つの状態しかありません。だからコンピューターは2を単位に数えるのです――2の累乗で。 27 では、2 が 底 、7 が 指数です。指数は、底を何回かけ合わせるかを表します。
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
注目したいのは最後の位です: 20 = 1。これは、割り算では指数を引き算するという規則から導かれます: 22 : 22 = 22−2 = 20 ――そして、ある数をその数自身で割ると1です。さらに進めると、 2−1 = ½, 2−2 = ¼ となり、その先も同じように続きます。
0から255までのどの数も、この8つの値からただ一通りの組み合わせで作れます。たとえば131は128 + 2 + 1。いちばん上のピクセルと、いちばん下の2つのピクセルが光ります。