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への[シェア]ボタンが出来たから、
よかったらツイートやシェアをよろしくね!!