integer-overflow

    0熱度

    1回答

    林試圖做mul或add與兩個數(MASM 32位彙編),即它的結果將是大然後是32位。 但問題是,我不知道如何存儲結果。例如, 例如,mul指令將結果放在eax(32位寄存器),但如果我想將2個數相乘,結果會大於32位,則該值在eax中壓縮,沒有真正的結果。並加上同樣的問題.. 所以,我做了一個mul或add兩個數字,結果是大於32位?我想創建一個數組,添加一個循環(如果我的數字是100,那麼循環

    1熱度

    2回答

    將++運算符應用於C#中的longs時,它的行爲是否與long.MaxValue一致?該呼叫不在checked區塊內進行。我需要知道在任何情況下,現在或將來它可能會拋出OverflowException而不是打包到long.MinValue。

    0熱度

    2回答

    輸出。這裏是一個Codeforces problem我試圖解決C++代碼: #include <iostream> using namespace std; int main() { int n = -1; unsigned long long possible_combinations = 0; cin >> n; possible_comb

    0熱度

    1回答

    Opencv Mat乘以恆定操作保護溢出? Mat m(12,14,CV_8UC1); float C=12.01; //...do something with m m= m*C; 即可以是乘法結果大於255? 我也無法找到OpenCV的github repo

    3熱度

    1回答

    我有一個非常大的基數n(n由用戶指定),以數組形式存儲,每個元素表示一個數字。 u[0]是最高的數字,u[1]是第二高的,u[-1]是最低的數字等等。前導零被理解爲沒有意義:例如,如果n是8,[0, 0, 0, 4, 7, 3]等於[4, 7, 3],並且它們都等於(473)在基址8中,或者315在基址10中,或者13B以十六進制表示,或者[1, 59]作爲字節數組。 我想將其轉換爲一個字節數組,

    3熱度

    2回答

    因此,這似乎很容易,但無論是我想的東西或... ...有沒有辦法做到這一點.. 首先嚐試:? unsigned abs(int value) { return value < 0 ? -value : value; } 不,「值」是UB 。這是通過clang -sanitize檢測到的,在面對積極的優化時通常是不安全的(儘管我真的希望沒有一個理智的編譯器濫用這個)。 好的。讓我們投射到未簽名!

    3熱度

    6回答

    我已經寫了這個C代碼來找到所有整數的總和,這些總和等於它們的位數的階乘之和。需要一分鐘左右的時間才能完成工作而沒有任何GCC優化標記,使用-O1減少了約15-20秒,但是當我用-O2,-O3或-Os嘗試時,它會陷入無限循環。 int main() { int i, j, factorials[10]; int Result=0; for(i=0; i<10; i+

    2熱度

    1回答

    我移植以下從拆解的x86二進制C代碼時: (unsigned __int16) ~ (_WORD) crc32^length * ~crc32; 這是我在C#中移植的代碼: (uint) (~(ushort) crc32)^length * ~crc32) 而且下面有表與一些計算值。 Expected | Actual (C#) -----------+------------ 0x1

    9熱度

    1回答

    大多數使用python,我已經被寵壞了,不必擔心整數溢出。現在我正在使用numpy,我不得不再次擔心它。我想numpy在溢出的情況下出錯,但它似乎不適用於int64。 import numpy numpy.seterr(all='raise') print("{:,}".format(numpy.prod([10]*50))) # -5,376,172,055,173,529,600 pr

    1熱度

    1回答

    使用6-bit二進制補碼算術,在任何這些情況下是否發生溢出?我相信有問題b,但沒有溢出。 (a) 11001 + 01000 (b) 10111 – 00110 (c) 00111 + 01100 (d) 10110 + 00011 我之所以說b是隨身攜帶的一個例子,而不是溢出,因爲結果是所添加的兩個數字的符號相同,即使是有進位。