bit-manipulation

    1熱度

    1回答

    我想在C中實現遞歸快速排序,通過使用按位異或操作進行所有交換。這裏是我有這麼遠: //bitwise recursive quicksort void quicksort(int *int_array,int p, int r){ if(p<r){ int q = part(int_array, p, r); quicksort(int_array,p, q

    1熱度

    1回答

    您好我已經編寫了一個程序來切換char數組中的位。我發現當我切換第7位時,我得到錯誤的答案。請幫幫我。 int main() { int n,c; char dummy; scanf("%i", &n); char a[13]; memset(a,0x00,13); for(int a_i = 0; a_i < n; a_i++){

    0熱度

    2回答

    我試圖做兩個數字之間的比較只有特定的位,但我只想要其中一個號碼的第n個位等於一定的二進制值 例如:斷言(5 == 0b1XX)== true 因爲5是0b101而第三個MSB是1 是否有反正我可以在JavaScript中使用一個無關(X)?

    0熱度

    1回答

    由於JavaScript不能容納64個整數,有時它代表了他們爲以下三個鍵的字典: { low:-1547376220, high: -1, unsigned: false } 我有使用javascript產生本詞典的服務。我有另外一個用python編寫的服務來接收這些數據,並想從中創建64位數字。有什麼辦法可以在Python中做到這一點?也許一個庫已經這樣做了?

    0熱度

    1回答

    我不斷收到一個錯誤,說「使用未聲明的標識符」a「。據我所知,我已經宣佈'a'等於0,所以應該設置。 int numOfBits(short num) { for(int a = 0; num; num >> 1){ a += num & 1; } return a; }

    2熱度

    1回答

    我有一個熊貓數據框,看起來像這樣,重複約10K行: Lbl # Value Time 16 160 0-00-000-0000-0000-0000-0000-00 000:00:00:00.206948 17 270 0-00-000-0000-0001-1010-0110-00 000:00:00:00.212948 18 271 1-00-000-0000-0000-

    0熱度

    1回答

    下面的代碼會產生一個錯誤,並且無法運行,因爲表達式太「複雜」。 for row in 0...NumRows { for column in 0...NumColumns { let topLeft = (column > 0) && (row < NumRows) && level.tileAt(column: column - 1, row: row)

    2熱度

    1回答

    我需要對PostgreSQL中存儲的MAC地址進行某些按位比較,如macaddr類型,但據我所知,似乎沒有任何東西可以允許我這樣做(短小的MAC字符串解析成十六進制數字,這似乎不會很高性能)。 PostgreSQL有辦法有效地進行這種比較,或有效地將MAC地址轉換爲可以進行比較的數字或位集表示法嗎? 下工作,但需要字符串處理的公平位這樣做的: select ('x'||replace(macadd

    1熱度

    1回答

    我最近了解到Morton coding (Z-order curve)是一個按位配對函數。它被呈現給我,與Cantor pairing function相比,計算速度更快。 Morton編碼的工作方式是將兩個數字交錯,並將結果存儲在更寬的數據類型中。例如,交織兩個8位整數的位並將結果存儲爲一個16位整數。 爲什麼要交織位而不是在目標數據類型的高位和低位之間拆分兩個數字?我希望使用高位和低位仍然更快

    28熱度

    2回答

    C11§6.5.7第5段: 的E1 >> E2結果是E1右移E2比特位置。如果 E1具有無符號類型或者如果E1具有帶符號類型和 非負值,則結果的值是E1/2*^E2的商的整數部分。 如果E1具有簽名類型和負值 值,則結果值是實現定義的。 但是,該viva64參考文件說: int B; B = -1 >> 5; // unspecified behavior 我跑GCC此代碼,它總是給輸出-1