さまざまな「単位」について

戸根先生へ

時代錯誤な質問かもしれませんが...

1.とある書籍で「1バイトはもはや8ビットと考えて差し支えない。オクテットということばを使う必要なない」と書かれていたのですが、差し支えないのでしょうか?

2.データ量として「2^10」を意味する場合は慣習として「K」(大文字で書く)のは「IEEEで決められている」ととある用語辞典で見かけたのですが、何に書かれているかお分かりになりますか?

3.通信速度の場合は「k」と小文字で表記し、「1000倍を意味する」とよく聞きますが、ITU-Tのサイトでは「56KModem」などと書かれています。どの程度の範囲で通用するものなのでしょうか?

変な質問ばかりで恐縮です...

名前: 
福光
日時: 
04/10/28 08:02

コメント

福光さん,こんばんわ。

> 1バイトはもはや8ビットと考えて差し支えない。

バイトという単位は,元々は
1文字分のデータを表すのに要するビット数のことを指していました。
コンピュータが出来て間もない頃はいろいろなアーキテクチャがあり,
1文字を表すビット数が機種によって異なることがあったんですね。
中には,プロセサが持つレジスタの値によって,
1バイトのビット数を変更できる機種もあったという話を聞いたこともあります。
でも,そんな話は40年くらい前の話で,今は1バイト=8ビットで差し支えないでしょう。

> データ量として「2^10」を意味する場合は慣習として「K」(大文字で書く)

2^10(=1024)と1000を区別するために,
1024をKで表し,1000をkで表すということですね。
そういう慣習はありますし,私もその慣習に従ってKとkを使い分けています。

> 「IEEEで決められている」

でも,これは知りませんでした。

> 通信速度の場合は「k」と小文字で表記し、「1000倍を意味する」

通信速度の場合は小文字で表記し,ということではなくて,
通信速度の場合は,1024を一つの単位にすることはほとんどありません。
だから,大文字でKと表す機会がないわけです。

1024というのは2進法で考えたときに,丁度切れ目の良い数なので,
2進数との結びつきが強いコンピュータの分野で
メモリの容量を表すときなどに使われることが多いのに対して,
通信分野は元々コンピュータほど2進数との関連が強くないので,
1024を一つの単位として扱うことが少ない,ということだと思います。

> ITU-Tのサイトでは「56KModem」などと書かれています。

Kとkと使い分ける慣習は,全世界に共通するものではないようにも思います。

話は少しそれますが,ビットをb,バイトをBと表記する方法が日本では一般的ですが,
これも国によって違うようで,米国ではバイトをbで表すことが多いようです。
このように,表記方法は所変われば,という面があるように思います。

> IEEEで定められている

改めて調べたところ、表現が若干違っていました。

出典は『アスキーデジタル用語辞典』です。
http://yougo.ascii24.com/gh/37/003709.html

昔は「定められている」って書いてあった気がするんですが、
気のせいかもしれませんね。

ちなみに私は『プログラマ、石をみがく』というエッセイでこの慣習を知りました。(これも記憶で書いているので怪しげですが...)

2^10について、面白い記述を見つけました。

2 進の接頭語として「ki」(キビ)が紹介されています。
http://www.linux.or.jp/JM/html/LDP_man-pages/man7/units.7.html

>> ITU-Tのサイトでは「56KModem」などと書かれています。
>
>Kとkと使い分ける慣習は,全世界に共通するものではないようにも思います。
>
>話は少しそれますが,ビットをb,バイトをBと表記する方法が日本では一般的ですが,
>これも国によって違うようで,米国ではバイトをbで表すことが多いようです。
>このように,表記方法は所変われば,という面があるように思います。

勉強になります。ありがとうございました!