> では$〜だけを特別扱いしているわけではありませんし、0x〜だけ変換できないのは変だと思います。
もともとHSPは昔の N88-BASIC を土台に開発が進んできたようです。
ですから最初は「$」文字で16進数を表現をしていて、
そのうちに私のようなC/C++言語の出身者もHSPを使うようになりました。
そこでHSPの作者さんがC/C++言語の出身者さん用に「0x」も使えますよ。
という位置づけで機能強化したのだと思います。
つまり、HSPにおいて16進数表記は「$」が正しく、
「0x」は正式サポートではなく「一部使えますよ」という感じでしょうね。
だから命令や関数の引数には使えるように機能強化してるが、
int関数の文字列から数値への変換まで対応を考えてないか、
対応するのを忘れてしまってるだけでしょうね。きっと。
よって「int関数で"0x〜"のような16進数を変換できない」は、
「バグ報告」よりも「要望・提案」で、すべての命令・関数で
「0x〜」「0X〜」「\x〜」をサポートして欲しいと書き込んだ方が良いでしょう。
↑
私もint関数で「0x」が使えないのは不便ですし、
文字列リテラル内で「\x〜」による16進数を指定が使えないと
poke命令で文字列を作り出さないと使えないので不便だと思ってます。
> ゼロ・キセノン(0xenon?)についてはわかりません…
> 16進数ではないですよね?
これは、C/C++言語と解釈は同じでしょうね。
つまり、HSPの内部処理的には16進整数と解釈して処理するが、
「enon」の「e」でエラーとなります。
a=0xenon
↓
???(1) : error 4 : パラメーター式の記述が無効です (1行目)
--> a=$Enon
このようなエラーですね。