なぜ1KBは1024Bか?

 
考えてみたら不思議すぎる。
HDDに記憶されているのはビット単位なはずなのに、1KBはなぜ1024Bなのか?
 
色んな所で
「それはビット二進数で2の10乗ですっげー使いやすいから」
という説明がされているけど
実際にはどういうケースでその恩恵が得られるのかがよくわかんなかったし、
1000Bでもいいじゃんと思ってしまう。
 
でも、ついこないだ、あーなるほどと思った例を見つけたので紹介。
 
データは基本的にメモリに置かれてからCPUでむにゃむにゃされる。
そして、そのメモリは物理的にはメモリICの集まりである。
 
メモリICにはピンが20本ついてて、その内訳は、

  • データアドレス  10ピン=10ビット
  • 読み込みフラグ用 1ピン=1ビット
  • 書き込みフラグ用 1ピン=1ビット
  • データ用     8ピン=8ビット=1バイト

となっている。
 
プログラムっぽく書くと

memoryIC.put 0000000001  #データアドレス指定すると
=> 10101010              #データが出てくる。
  ・
  ・
memoryIC.put 1111111111  #これが1024パターンある
=> 101001110

 
つまり、メモリIC一個で1024Bを格納しているという事になる。
おや?1024が出てきた。
 
最初に言ったようにHDDのデータをメモリに入れて動作させるので、
やっぱり、1KB=1024Bちょうど割り切れて無駄が無い。
もし1000Bだったら面倒くさくってしかたない。
 
おおー。こういう事かと一人で感動してみた。