integer-arithmetic

    1熱度

    2回答

    我想計算q^k,s.t. q是n位寬,在侷限中: 最終結果將是n * k位寬。 對於計算的每一步,乘以x,y s.t.的結果。 x是| x |位寬,y是| y |位寬是| x | * | y |位寬。 我試着做成對;第一步結果取2n位,第二步取(2^2)n位等,最後一步取n​​ * 2 ^(logk)(= kn)位。 我們有log(k)個步驟,仔細計算使我們得到: O(log(n)(log(k))

    4熱度

    1回答

    在C中,如果我想將int除以2,x%2應該運行得像(x%10)% 2 一樣快,因爲好的編譯器只會查看最後一位。但是如何用無限精度的算術語言呢? 特別是在Haskell中,它會更快(或者它們會是相同的速度):even x或even (quot x 10)?

    1熱度

    3回答

    在java中對於像這個表達式(3 + 2)+ 23/12-(43/54)的正則表達式,其中左括號是創建用戶將能夠把正確的一個如果沒有創建左括號,用戶將不能輸入正確的括號。如果創建了左括號3次,用戶將只能右置括號3次來關閉由左括號打開的表達式。 感謝

    1熱度

    4回答

    public class test { public static void main(String[] args) { int total = 2; int rn = 1; double rnp = (rn/total) * 100; System.out.println(rnp); } } 爲什麼它打印0.0而不是50.0? https

    1熱度

    2回答

    我有一個嵌入式的16位CPU。在這臺機器上,整數是16位寬,它支持32位寬的長整數。我需要做一些乘法運算,這些乘法運算需要存儲在64位中(例如,將一個32位數乘以16位數)。我怎麼能用給定的約束來做到這一點?我沒有一個數學圖書館來做到這一點。

    3熱度

    2回答

    請看看下面的代碼: #include <stdio.h> int main(void) { short s = -1; printf("sizeof(short) = %lu\n", sizeof(short)); printf("sizeof(int) = %lu\n", sizeof(int)); printf("sizeof(long) = %lu\n", sizeof(lon

    1熱度

    1回答

    假設您有兩個無符號整數(在兩個數組a,b中給出n個數字),並且您有p個處理器,每個處理器可以添加2個數字並計算進位(如果存在)。是否有可能在時間O(p + n/p)上計算a + b?我一直試圖將輸入分爲每個(n/p)的p個區間,但我不知道如何處理進位。

    82熱度

    6回答

    設a,b和c爲非大正整數。用C#整數算術,a/b/c總是等於a /(b * c)嗎?對我來說,在C#中,它看起來像: int a = 5126, b = 76, c = 14; int x1 = a/b/c; int x2 = a/(b * c); 所以我的問題是:x1 == x2所有A,B和C?

    4熱度

    1回答

    我看了下面的問題:Value of i for (i == -i && i != 0) to return true in Java,並且稍微有點暈眩。 因爲使用了錯誤的單位系統,所以讀取約spacecraft being lost,所以看到問題和awnser中提到的行爲對我而言是非常意外的。 如何防止由此產生的錯誤/意外行爲,而不會造成運行時損失? (我發現很難用=的比較來考慮有意義的代碼,但我

    1熱度

    2回答

    我有這一塊的C代碼的問題: int y = 0, h = 640, ih = 640; h = y + h - max(0, (y + h) - ih); 應該設定爲H 640,而是被設置好的比0! 你可以看到它運行在這裏:http://ideone.com/zBZSsr 任何想法,關於這種奇怪的行爲?難道我做錯了什麼?