学校では教えてくれないこと

km(キロメートル)とKByte(キロバイト)の「kとK」

2016.3

久しぶり!!ビリーだよ。

前回のコラムから時間が空いてしまって、
楽しみにしてくれているみんなを待たせてしまってごめんよ。

実は最近、ビリーが以前から気になっていた、
km(キロメートル)とKByte(キロバイト)の「kとK」について調べてみたんだ。
普段、何げなく使っているけど、思いもよらず深い話だったから、みんなにも紹介しようと思う。

km(キロメートル)の「k」について

国際単位系(SI)で規定されている「SI接頭辞」と呼ばれる十進の倍量・分量単位を作成するためのもので、
JISなどでは「接頭語」と呼ぶそうだよ。
ここでポイントなのは、1000倍を示すのは「キロ(kilo)」で「k」と表記することが決まっていて「K」は使えないことなんだ。

つまり、

「Km」という表記は使ってはいけない。

ということになるんだ!

2008年には、道路標識の表記が「Km」から「km」へ変更されていたよ。
【出展】国土交通省ホームページ
    http://www.mlit.go.jp/report/press/road04_hh_000006.html別ウィンドウが開きます。

その気になって注意して見ていると、今でも「K」の所だけ上から小文字の「k」で書きなおしている道路標識があるよ。
みんなも、探してみて!

国際単位系(SI)について

MKS単位(長さの単位にメートル「m」、質量の単位にキログラム「kg」、時間の単位に秒「s」を用い、
この3つの単位の組み合わせでいろいろな量の単位を表現していたもの)を拡張したもので、
メートル条約に基づいて1960年に国際度量衡総会(CGPM)で使用が採択されたそうだよ。

SI接頭辞について

よく使うものに、「n(nano)、μ(micro)、m(milli)、k(kilo)、M(mega)、G(giga)、T(tera)」 があるよね。
kまでは小文字で、Mからは大文字というところが、面白いなぁと思うんだ。

(おまけ)キログラムについて

「キログラム」はちょっと他とは違った特別な存在なんだ。
SIの元となったMKS単位系と呼ばれる単位の一つで、1キログラムは、

国際キログラム原器(プラチナ90%、イリジウム10%からなる合金で直径・高さともに39mmの円柱)の質量

という決まりがあるんだって。
つまり、「キログラム」はkgで一つのSI単位で、「グラム」は「キログラム」の1000分の1ということであって、
決して「キログラム」が「グラム」の1000倍なのではないことになるんだ!!

Kbyte(キロバイト)の「K」について

知っての通り、コンピュータの世界でメモリやアドレスの容量を示す場合「キロ」は1000ではなく

1キロバイト = 1024バイト

となり2の10乗を示すよね!!

ここで使用されているKは2進接頭辞と呼ばれ2のべき乗であることを示す接頭辞だよ。

ビリーは最近まで知らなかったのだけど、
この大文字のKは「1024を示す」という暗黙のルールがコンピュータの世界では存在するんだ。
でも、実はこの大文字表記、国際規格やJIS規格で認められたものではないんだよね。

小文字の「k」は1000で、大文字の「K」は1024(2の10乗)と接頭語を分けたとしても、
結局その上の「M」や「G」は分けることができないからなんだ。
このような曖昧な表記は規格として認められない。
だから、あくまでも慣例であって「大文字Kは1024」だと強制することはできないから注意しよう!

2進接頭辞

それでは、2のべき乗を示す2進接頭辞の規格は?というと、ちゃんと存在するよ。
1998年にIEC(国際電気標準会議)がSI接頭辞と区別できる新たな 2進接頭辞を承認しているんだ。

SI接頭辞単位(記号)2進接頭辞単位(記号)
キロバイト(kB)キビバイト(KiB)2^10
メガバイト(MB)メビバイト(MiB)2^20
ギガバイト(GB)ギビバイト(GiB)2^30
テラバイト(TB)テビバイト(TiB)2^40

2の10乗、2の20乗、2の30乗などの乗数を表す接頭語はそれぞれキビ、メビ、ギビなどとなり、
1024バイトは1キビバイト、
2097152ビットは2メビビット(言いにくいね)となるよ。

これはIEC 60027-2で制定されていて、同様の規格がIEEEでもIEEE 1541-2002として成立しているそうだよ。
JISで採用された形跡は見つからなかったけど、
近い将来「キロバイト」とか「メガバイト」という言い方は過去の単位になるかもしれないよね。

その他の単位も気になる人は、調べてみてね。

(おまけ)HDD等のストレージの容量表記について

本来、コンピュータの世界でメモリやアドレスの容量を示す場合は

1キロバイト = 1024バイト

なんだけど、HDD 等のストレージの容量表記に関しては、昔から慣例的に

1キロバイト = 1000バイト、1メガバイト = 1000000バイト、・・・

で表記が行なわれてきたんだ。

その結果、3.0TB と記載された HDD を買ってきて PC でフォーマットすると、2.79TB 程度の容量しか認識されない、
というギャップが発生することになる。
過去にこのギャップが問題視されたことがあったけど、慣例ということでうやむやの内にそのまま通ってきているんだ。

約200GBの差と言えば、ちょっと前までならHDD一台分ぐらいだから、かなり損した気分になるよ。
更に、容量が増えれば増えるほど広がるこのギャップ、このままでいいかな?って思うんだよねー



今回は、ビリーが気になって調べた内容だったけど、どうだったかな。
いつもの技術的なちょっと難しい話とは違って、楽しく読んでもらえていたら嬉しいな。

このWEBサイトは昨年の11月にリニューアルして、twitterへの[ツイート]とFacebookへの[シェア]ボタンが出来たから、
よかったらツイートやシェアをよろしくね!!

ページのトップへ