[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bfree-prj 357] Re: byte, word, long...




きしもと@農工大 です


In message "[bfree-prj 356] byte, word, long...",
藤永清和 wrote...
> もちろん、5ビットないし6ビットで1バイトのマシンもあったでしょうし、1w
>ordが31ビットのマシンもあるでしょう。カーニハンの本にcharが9ビット
>のマシンが出ていたような記憶があります。
>
> 8ビットであることを言いたい場合には、バイトではだめで、オクテットを使うん
>じゃないかしら?
>
> wordはCPUの語長だと思っていたので、32ビットパソコンでwordが1
>6ビットなのはいまだにとっても変な気がします。
>
> 「1wordとかの言い方」は、結構します。2wordと1DubbleWordでは異なる場合があ
>ります。


Jargon には byte の説明しかありませんでした。
 http://www.jargon.org/jargon_17.html#TAG239

byte は、一般的には、狭義的に 8 ビットを意味していることが多いが、
正確にはもっと意味が広くて、あるアーキテクチャにおける、文字型や
アドレシングやキャラクタ I/O とかのビット長を指す、という感じで
しょうか。

それに対し octet は、8 ビットのことを指す、というわけで、ネットワーク
関連では、octet を使っていることが多いような感じがします。

word は、16 ビットアーキテクチャで、byte と対でよく使われた言葉だった
ので、word == 16 ビット、という感じで使われることが多いが、正確には、
あるアーキテクチャにおける、レジスタやデータバスや主要な命令のオペランド
とかのビット長を指す、という感じでしょうか。


古くは、アーキテクチャに関して「文字指向マシン」と「語指向マシン」なんて
いう言葉があったようです (^_^; (S/360 以前)


> C言語ではビット長に依存しないようにと、char,short,int,longが考えられたの
>でしょうが、組み込みの世界など、一単位のデータ長が問題になる(メモリ制約とか
>転送通信量が問題になる)場合に、
>INT8,INT16,INT32,UINT8...のような型を使う例があります。


ワークステーションとかパーソナルコンピュータのプログラムでも、
トリッキーなコードの移植性を確保するとかのために、ビット長を明示した
型を使っていたりします。


	K.Makoto