2017-04-08 43 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

回答