演算についての注意

 数値に関する演算はすべて long で行われます。
 integer型の変数を使用すると、long型に変換されてから演算が行われます。このときに、符号拡張されます。


dim x as integer
dim y as long
x = &H8000      '-32768 を代入したのと同じ
y = x           'y には &HFFFF8000(= -32768) が代入される
y = &H8000      'y には &H00008000(= 32768) が代入される

 &H8000 は integer の範囲(-32768〜32767)では負の数になるため、long型に変換される際に符号拡張され、long型の-32768 つまり、&HFFFF8000 になります。
 Win3.1 版 では HWND を使用する場合も、符号拡張に注意してください。

最新情報  TOP  マクロTOP