From: "NARUSE, Yui" Date: 2008-03-14T02:08:35+09:00 Subject: [ruby-dev:34039] Re: MurmurHash problem 成瀬です。 pegacorn wrote: > pegacorn です。 > > From: "NARUSE, Yui" > Date: Wed, 12 Mar 2008 03:34:41 +0900 > Message-Id: <47D6D085.9090205@airemix.com> > /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> |intが64bitのシステムでも32bit整数がある保証ってあるんでしたっけ。 >>> >>> 保証はないでしょうね。 >> \ >> C99 の stdint.h では uintN_t (N は 8,16,32,64) が必須になっていますから、 >> C99 対応のコンパイラならば存在します。 > > 規格書は読んでいないのですが、 > uintN_t は任意なのではないでしょうか。 > > プログラミング言語 C の新機能: >> http://seclan.dll.jp/c99d/c99d09.htm#dt19990621> > 厳密な幅を持つ整数型に関する定義 > intN_t 符号付き整数型の typedef 名 > uintN_t 符号なし整数型の typedef 名 > 厳密にその幅を持つ整数型。これらの型は任意であるが、 > もし実装が 8, 16, 32, 64 ビットの整数型を提供しているなら > 相当する typedef 名を定義する必要がある。 むむ、C99 だとたしかに持っていれば、になっていますね。 まぁ、POSIX の方では 32 は必須になっていますし、 http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html Win64 はそもそも int が 32bit なので、このどちらかとなると、 それなりに「保障」されていると言っていいとは思うのですが。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA