タイトル : Re: DWORDの変換に関して 投稿日 : 2008/06/07(Sat) 23:24 投稿者 : GOD
> Declare文で 外部dllやAPIからDWORD(unsigned long)を読み込む場合 いつもLongで > 読み込んでいたんですが > Longの上限値=2,147,483,647を超えた場合どうなってくるんでしょうか? > ビットで考えると補数に・・・マイナスになるんでしょうか? > 前に自作のDLL作って行った実験だとマイナスになっていました。 _http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200502/05020047.txt 下から2番目の記事。 > 具体的にコードにするなら、取得値がマイナスの場合 (単純に考えるなら)2^32 > 加算する必要がありますよね > (その場合 Doubleで受けないといけませんが) > 全てを+値として扱いたいときは、一度Longで受けた後、DecimalかCurrencyあたりに入 れ直す必要があります。(マイナス値の場合は2^32を加算して) 私はDecimalを使ったことはないですが。 Doubleで直接受けることはできないと思います。多分コンパイルエラーになると思う。 仮にコンパイルが通っても予想外の値を取得するはずです。(このあたりは未検証) |