📦 直感でわかる!データ圧縮(パッキング)体験箱

コンピューターは全ての情報を「0」と「1」の箱で記憶します。
ここでは、9種類のバラバラなデータを、32個の小さな箱(32bit)に隙間なく敷き詰めて、
最終的に「たった1つの大きな数字」に変換(パッキング)する仕組みを体験できます。

🧩 32個の小さな箱(0か1しか入りません)

⬇️

上の9つのデータを、すべて合体させた1つの数字

0

🚀 パッキングするとデータはどう動く?(通信・処理シミュレーション)

CPUからメモリへ、あるいはネットワーク経由でデータを送る場合を想像してください。
パッキングをしない場合、9個のデータを別々に送る必要がありますが、パッキングをすれば1回の送信で完了します。

従来のやり方(バラバラに送る)

送信元 送信先
📥

パッキング(1つにまとめて送る)

送信元 送信先
📥

💡 仕組みの解説

なぜわざわざ「1つの数字」にまとめるのか?

たくさんの独立したデータを扱う際、メモリへのアクセス回数やネットワークの通信回数が増えると、それが処理のボトルネック(渋滞)になります。32個のビットにデータを敷き詰めて1つの整数(32bit整数)として扱うことで、1回の処理で複数のデータを同時に移動・コピー・保存できるようになり、パフォーマンスが劇的に向上します。

📉

マイナスの数字はどうやって表現しているのか?

上の「変化量」のスライダーをマイナスに動かしてみてください。割り当てられた領域の一番左側の箱が「1」になることがわかります。コンピューターの内部では、特別なマイナス記号を使わず、割り当てられたビット列の最上位ビット(一番左のビット)を「マイナスの目印」として扱う方法(2の補数表現)が広く用いられています。