integer-arithmetic

    0熱度

    1回答

    與另一篇文章相關我有... parsing a sql string for integer values with multiple delimiters, 在哪裏我可以很容易地完成與UNIX工具(ahem)相同。我發現它比預期的更雜亂。我正在尋找awk解決方案。對以下內容有何建議? 這是我原來的職位,轉述: # 我想用awk來解析從平面文件,它是管道分隔源數據。其中一個字段的格式如下。我的最終

    16熱度

    3回答

    我有許多有理數的集合,每個數的分子和分母存儲爲一個大的(數百或數千位)無符號整數。我希望能夠有效地測試集合中是否有任何給定的有理數a/b等於集合中的任何其他有理數c/d。 最直接的方法是測試a*d == b*c是否當然,但我希望比計算完整產品更有效。 在我的具體使用情況的一些注意事項: 的對,我會測試實際上已經等於(因爲我已經預先計算,並通過他們的浮點近似值第一比較它們的可能性很大),所以如果他們

    -3熱度

    1回答

    C標準規定算術中的溢出未定義。 我想知道如何以性能友好的方式實現環繞算法。這意味着像here這樣的溢出檢查解決方案不是一種選擇(因爲它們使操作減慢了大約一個數量級)。 我認爲解決方案將涉及編寫彙編例程來執行此操作。有沒有可用的庫(儘管對於多架構,儘管x86是必須的)。 或者,是否有一個編譯器標誌(gcc & clang)使編譯器強制執行整數算術的環繞語義?

    8熱度

    2回答

    上週我在接受採訪時並有這樣一個測試: 計算N/9(因爲N是正整數),只使用 左移,右移,ADD,。減去指令。

    1熱度

    1回答

    有沒有一種方法可以在不使用匯編x86語言中的DIV或IDIV的情況下計算mod操作? 例如,人們可以使用DIV來完成部門的其餘部分。但是,而不是使用DIV,還有其他選擇嗎?

    0熱度

    1回答

    double doubleResult = 1d/0d; System.out.println(doubleResult); int intResult = 1/0; System.out.println(intResult); 輸出是: Infinity Exception in thread "main" java.lang.ArithmeticExcep

    0熱度

    2回答

    我有recently learned對於m位x n位乘法(產生(m + n)位乘積),無論乘法是無符號還是有符號,結果的最低有效位總是相同的。 對於一個m位/ n位除法(產生一個m位商和一個n位餘數),是否有任何位對於無符號和有符號的除法都是相同的,或一些輸入)這兩種劃分方法產生完全不同的結果嗎?

    5熱度

    3回答

    的情況下添加數字 我在面試時被問到這個問題。我沒有回答,實際上我不明白它是如何工作的。 int add(int x, int y) { while (y != 0) { int carry = x & y; x = x^y; y = carry << 1; } return x; } 我不是問爲什麼它會產生正確的答

    1熱度

    1回答

    我試圖找到一種可靠的方法將Swift中的Float或Double轉換爲Int。當發生溢出時,我會遇到問題。 讓我們來看看下面的例子: let double = 9223372036854775807.0 // This is 2^63 - 1 (aka Int.max on 64 bits architecture) print("Int.max is : \(Int.max)") pr

    0熱度

    1回答

    我在Rust中編寫了一個有效的平方法。我們假設AbstractNumber的Mul特徵是一個黑盒子,而且我們只允許安全,習慣性的鏽。 下面是對較大指數使用重複平方的第一遍。我不確定LLVM如何翻譯Rust算術方法調用,如checked_next_power_of_two()。 以下看起來合理嗎?將小規模分支分成自己的內聯函數會更高效嗎? /// Compute an integer power o