Hex関数(´・ω・`) | ネクタイがうまく結べない

Hex関数(´・ω・`)

8桁の16進をやろうとしたときHex(4826531840)ってやったら、

オーバーフローになりやがった(・ω・)/
引数はLong型って言っても-2,147,483,648~2,147,483,647の範囲らしい。

んー、どうしたらいいのかわからないのでwネットでもって検索したよ(`・ω・´)



>HexはLong型をとりますので、内部でstringUを
>Longにキャストしようとしてオーバーフローします。
>Hexに食わせる前に分割する必要があります。

>>やはり、下位から4ビットづつ変換していくしかないでしょうか?
>16bitずつにしたほうがちょっとだけ効率的でしょう。

>bufH = Int(stringU / 65536)
>bufL = stringU - bufH * 65536
>HexString = Hex(bufH) & Right("0000" & Hex(bufL) , 4)


ん?ん~・・・(。・ε・。)


べ、勉強になるなぁ~