bit-manipulation

    0熱度

    1回答

    假設我有一個變量inst,它包含一個編碼的MIPS指令。我想將rt字段設置爲0而不更改其他字段。 rt字段是從16-20索引的5位字段。我第一次嘗試: inst = inst & ~(1 << 16); 這臺RT場爲0,然後我想提出一個新的變量new_reg的值到室溫領域。我試過了: inst = inst | (new_reg << 16); 任何人都可以確認這兩行代碼是否正確?

    -2熱度

    1回答

    我想在C中做一些操作。直到現在,我所做的一切都是正確的,但最終測試表明存在錯誤。對我來說功能看起來不錯,但是......輸出與預期不同。 #include <stdint.h> #include "PETER_interface.h" const int BITS_IN_BYTE = 8; static int g_capacity = 0; static int g_size = 0

    0熱度

    1回答

    正如問題所述,我想比較兩種顏色使用它們的rgb值,但我想忽略alpha。 我沒有得到那些位移和位智的操作符,所以你能告訴我有沒有比下面的代碼更優雅的方式來做到這一點? boolean compareRGB(Color c1, Color c2) { return c1.getRed() == c2.getRed() && c1.getGreen() == c2.getGreen() &&

    5熱度

    1回答

    我想從一個由8個整數組成的另一個__mm256i offset指定的8個位置從一個寄存器變量__mm256i src中提取8個比特。 例如:如果offset是[1,3,5,21,100,200,201,202],我想從src獲得第1,3,5,10,100,121,202位,並將它們打包到int8。 這個問題類似於Extracting bits using bit manipulation,但我想用

    -5熱度

    1回答

    我們已經給出了一個賦值,其中我們必須將4個字節壓縮爲3個字節。它希望我們通過將字符打包成6位而不是8位來壓縮25%。它應該是25%的確切壓縮率,但是我的程序約佔50%。 Code Book是我自己的「ASCII」排序表,按位運算符用於執行壓縮。有沒有人知道爲什麼它將它壓縮了50%而不是25%?我知道命名空間標準不是一個好習慣,但我們被要求使用它。謝謝` #include <iostream> #

    1熱度

    2回答

    的否定我的地方閱讀這條線,我無法弄清楚它的使用 private void bitUpdate(int[] bit, int idx, int val) { while (idx < bit.length) { bit[idx] += val; if (bit[idx] >= MOD) bit[idx] -= MOD; i

    0熱度

    2回答

    據堆棧溢出等問題,我們可以檢查,如果一個位標誌使用設置: if(value & flag) Check if flag is set in integer variable Checking for bit flags C/C++ check if one bit is set in, i.e. int variable 但是,我想檢查是否設置了特定的標誌,如果只有構成那些f滯後。 stati

    2熱度

    2回答

    我有這個功能接受int *爲參數,並改變其第n位爲1或0: void change_nth_bit(int *value, uint8_t bit, uint8_t n) { (*value) ^= (-bit^(*value)) & (1U << n); } 我可以保證,這將作爲值可以是類型: * uint8_t *字符 * uint16_t 或者我應該爲每個數據類型的函數?

    2熱度

    1回答

    我是新來的位操作,並希望做到以下幾點: 我需要我的程序倒置顏色的argb代碼,如紅色變成青色或白色變成黑色。試用photoshop我發現,所以你必須計算255 - 紅色,255 - 綠色和255 - 藍色。因此,這看起來是這樣的: int getInversed(int argb) { Color old = new Color(argb); Color negative =

    0熱度

    1回答

    嘿,我試圖運行下面的代碼塊,它實際上使用負移位值右移了負整數值。類似(negative integer)>>(negative shift value)。 但有趣的是,發現的是什麼是什麼,無論移位的值是多少&整數的值每次產生的結果爲-1。 PLZ解釋爲什麼答案總是-1。 實施例: -8>>-9 Result: -1 -10>>-8 Result: -1