64bit版秀丸のマクロでの数値の扱いNo.06745
colder さん 11/10/03 17:44
 
colderです

64bit版の秀丸のマクロでの数値の扱いがおかしいようです。
16進の数値が36bitまでしか認識されないようです。
hex、valが32bitまでしか変換されないようです。
再現するでしょうか。

環境 win7+秀丸64bit版v8.11β9


[ ]
RE:06745 64bit版秀丸のマクロでの数値のNo.06747
秀丸担当 さん 11/10/04 10:12
 

>64bit版の秀丸のマクロでの数値の扱いがおかしいようです。
>16進の数値が36bitまでしか認識されないようです。
>hex、valが32bitまでしか変換されないようです。
>再現するでしょうか。

報告ありがとうございます。
確かにそうなっていることが確認できました。
まず64bit版であってもマクロ記述の互換性としては32bit版と同じになるべきだ
と思います。

0x から始まる16進数即値の書き方で36bit扱えてしまうのは、おかしかったです。
これは64bit版の問題というより、32bit版の浮動小数点数版のときの問題でした。
内部的には仮数部52bit扱えてしまうところを通常版との互換性のために52bit解
釈はせず、32bitに収める修正がV6.50β21でありましたが、実際には36bit解釈
してしまっていたという問題でした。
ここをまず32bitに合わせるように修正させていただきます。

64bit版の通常版は内部的には64bitで数値を保持していて、ハンドルやポインタ
など、64bit数値の必要性も出てくる場面もあると思いますが、また必要に応じ
て仕様の検討をしていきたいと思います。

[ ]