tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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で直接受けることはできないと思います。多分コンパイルエラーになると思う。
仮にコンパイルが通っても予想外の値を取得するはずです。(このあたりは未検証)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。