namazu-ml(avocado)


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

Re: byte order and bit length problem (Re: はじめまして )



加藤です.

> ところで、 K&R第2版によると
> 
> | 守るべき唯一の条件は, short と int は少なくとも 16 ビット, long 
> | は少なくとも 32 ビット, short は int より長くてはならず、 int は 
> | long より長くてはいけないということである。

これは,8086 とか PDP-11 など 16bit ワードマシン上の多くの C コンパイ
ラの仕様がそうだったからですねぇ...
#有名な「処理系依存」という奴ですね.

> だそうなので、もし、32bit に統一したいと思ったらなんだか結構厄介そ
> うですね。この辺、 JAVA だと明確なんですが。このあたりの事情につい
> て知恵をお貸しくださると助かります。

昔,安直に sizeof(int) でチェックをかけるという手を使っていました.

> # 64bit マシンの short, long って何 bit だろう?

少なくとも HP-C 10.X な世界では,short = 12bit long = 32bit です.
64bit は,ANSI C を拡張して long long 型を新規に設けています.
たぶん,他の 64bit なプラットフォームも同様でしょう.

---------------------------------------------------
外してます?