目前我在我的一個應用程序中實現了一個方程(2^A)[X + Y*(2^B)]
。32位變量的溢出
問題是與32位值溢出,我不能使用64位數據類型。
假設當B = 3
和Y = 805306367
,它溢出32位值,但當X = -2147483648
,結果回到32位範圍。
所以我想存儲(Y*2^B)
的結果。任何人都可以爲此提出一些解決方案.... A和B的值從-15
到15
和X
,Y
可以具有從2147483647..-2147483648
的值。
輸出範圍可以從0...4294967295
。
如果A = B = 15和X = Y = 2147483647那麼結果遠遠大於4294967295.是否還有其他限制將輸出限制在0 ... 4294967295範圍內? – Andrei 2011-06-12 12:56:32
在你的等式中,是'^'xor還是力量?方括號代表什麼? – 2017-02-03 00:14:56