HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
1218
darumasan掛け算でマイナスになる。バグ?2解決


darumasan

リンク

2018/12/18(Tue) 11:02:36|NO.86038

以下の掛け算をするとマイナスになり数値も異常です。
ひとつ前の数値までは正しく出ます。
桁数制限とか何か制約があるのでしょうか? それともバグ?
ご存知の方がおられましたら教えて下さい。

a=143166 * 15000 mes a stop ;a=-2147477296とマイナスになり数値も異常。 ;143165 * 15000=2147475000 と143165までは正しい。



この記事に返信する


ham

リンク

2018/12/18(Tue) 13:08:56|NO.86039

int型変数で扱える最大値は2147483647で、それを超えるとマイナスになるそうです。
double型を使用すれば9007199254740991まで扱えるようになるらしいです。

小数にするだけで自動でdouble型になります。

a=143166.0 * 15000.0 mes a stop



darumasan

リンク

2018/12/18(Tue) 13:24:12|NO.86040

なるほど!
int型変数で扱える最大値があり、しかもここが最大とは知りませんでした。
お教えいただいたham様、大変ありがとうございました。
しかも代替方法まで示していただき感謝します。



ONION software Copyright 1997-2021(c) All rights reserved.