&H表記

解決


みしシッピ  2003-10-14 16:19:54  No: 109101  IP: [192.*.*.*]

Temp=&HFFFFなどにした場合にTempが-1などになってしまいます。
これはどうしておこるのでしょうか?

編集 削除
minami  2003-10-14 17:17:42  No: 109102  IP: [192.*.*.*]

4 桁以下の小さい16進数値を符号付き 2 バイト整数に変換した場合に、
&H8000 から &HFFFF  の間の数値が負の値として扱われる場合があります。
長整数のサフィックス "&" を 16 進数文字列に付加すると回避できます。

Dim lngVal as Long
Dim strHex as string
strHex = "FFFF"
lngVal = Val("&H" & strHex & "&")

編集 削除
みしシッピ  2003-10-15 09:00:51  No: 109103  IP: [192.*.*.*]

ご回答ありがとうございます。
仕様なんですね。
大変ためになりました。ありがとうございました。

編集 削除