bit-manipulation

    1熱度

    1回答

    我明白了什麼是填零右移並導致它產生非常清楚了,當第二個操作數爲非零: -7 >>> 1 2147483644 比較與 -7 >> 1 -4 但是,當第二個操作數是零: -7 >> 0 -7 // Looks right! -7 >>> 0 4294967289 // What? Why? 如果我轉向零位,並不意味着我根本不轉移?如果是這樣的話,它不應該讓我回到原來的數字嗎?我

    2熱度

    1回答

    每個位的位置計數的「1」值數我有我的紅移表BIGINT列,我想那會查詢: 指望有多少次的值「1」出現在此列的所有行跨二進制值每個位的位置 將顯示它的方式,我就可以拿X頂部bits_positions。 例如(我已經寫了整數值爲二進制簡化的例子): column -------- 11011110 = 222 00000000 = 0 11111100 = 252 00011000 = 2

    3熱度

    2回答

    我只是嘗試使用此代碼之間的位: void swapBit(unsigned char* numbA, unsigned char* numbB, short bitPosition)//bitPosition 0-x { unsigned char oneShift = 1 << bitPosition; unsigned char bitA = *numbA & oneS

    1熱度

    3回答

    我當時正在玩創建一個小棋子解算器的想法。首先,我會製作一個非常小巧的跳棋板,然後繼續構建遊戲樹等。 標準跳棋板具有8行,和4官能列(跳棋只能移動對角線)。這給了我們32個職位!每個位置需要的3位信息... king位,並color位...所以00是非王黑,01是非王衝,10是王黑,11是王衝。這給了我們64這是一個很好的數字來處理(長整數的確切大小)。 但是,每個檢查器還需要一個附加位... is

    1熱度

    1回答

    我知道使用十六進制編輯器,可以編輯二進制文件並用每個十六進制值更改4位,但我想到的項目需要修改單比特而不是4比特。 那麼,有沒有辦法讀取位的東西(例如ASCII編碼的純文本文件),並操縱例如單位Java的? 作爲一個小白,我能想到的每一個加載字節數和生成包含每個字節的每8位表示一個字符串的,但是這是一種非常複雜的方式會浪費大量的空間。此外,這種方法需要我保留一個包含每個可用字節的8位表示的列表來查

    -1熱度

    1回答

    我的單元陣列,它包含的值如 a = ['10100011''11000111'00010111'11100011']; 我想申請異或操作; 我用setxor。我想將xor的第一個數值即10100011賦值給單元陣列的所有值,要求輸入&的輸出如下! **setxor(10100011, 10100011) =00000000%(first value xor result with first va

    2熱度

    1回答

    BitField1 = 00100110 BitField2 = 00110011 ((BitField1 &〜BitField2)|(BitField2 &〜BitField1)); = 00010101 所以這是一個常見的按位運算的長版本,它是什麼? 想了解上述位操作是否已知某些操作?

    2熱度

    2回答

    背景 我已經存儲了一些真/假值的數據庫中,而不是讓很多列,我不是正在使用單一int列,在那裏我存儲所有使用按位運算符壓縮的布爾值。 實施例: Product 1被認證爲: Lead Free - Yes Gluton Free - No Free Range - Yes Organic - Yes 所以在DB,在certs柱,我會壓縮1,0,1,1成13(1 + 4 + 8)。 我已經編

    -3熱度

    1回答

    此代碼輸出12480 ..爲什麼?我預計它會打印124816.有人可以向我解釋嗎? int main() { char c = 48; // From ASCII one can find that char 48 represents 0. int i , mask = 1; for(i = 1; i <= 5; i++) {

    2熱度

    2回答

    不工作我試圖做到這一點: 打印17593028247552^909522486 的結果必須是(如在JavaScript中),但我得到17592253494838L 請幫幫我!因爲他們需要提前:)(在Python 3或int)