警告に
Hexadecimal number > 0xffffffff non-portable at overflow.pl line 10.
というのも出てませんでしたか?
#ファイル名と行数は無視してください。
ActivePerlでは整数の幅は32bitでありこれの最大値は 十六進表記で
0xffffffff ですので、その値からはあふれています。
ただし、Perlでは数値を表すのに整数であっても浮動小数点データとして扱うので
#そうしないように指定はできますが
そこではオーバーフローしないので
結果が正しく出ているように見えているのです。
質問者
お礼
ご回答ありがとうございます。
Hexadecimal number > 0xffffffff non-portable at overflow.pl line 10.は出ていませんでしたが、
なぜこういう現象が起きるのか勉強になりました。
警告文を表示させるので、処理速度に多少影響はありそうですが、
実際に変換した値で演算するわけではないので、現状は無視していても問題はなさそうです。
お礼
ご回答ありがとうございます。 Hexadecimal number > 0xffffffff non-portable at overflow.pl line 10.は出ていませんでしたが、 なぜこういう現象が起きるのか勉強になりました。 警告文を表示させるので、処理速度に多少影響はありそうですが、 実際に変換した値で演算するわけではないので、現状は無視していても問題はなさそうです。