2017-04-08 42 views
2

我正在做一个小程序,解决基本的数学运算(*/+-)和我使用long long int(64位数字),所以我可以做很大的数学运算数字。C++久长整型溢/下溢

但有一个问题。我可以检查操作数是否超出限制(使用LONG_LONG_MAXLONG_LONG_MIN)。 但是,当我(例如)乘以两个非常大的数字(导致long long int溢出)LONG_LONG_MAX检查不起作用。相反,结果是-4。

C/C++检查有没有机会?例如一些尝试抓建设?

+4

您可以通过检查是否(例如)'B> MAX/A'抓住这个。 –

+0

是的,我想这样做,但我想知道如果有一个“更好”的方式。 – John

+0

“long long”至少为64位,但可能更多。如果你想要一个64位的varibale,使用'int64_t'。 – 12431234123412341234123

回答