bit-manipulation

    0熱度

    2回答

    一個32位寄存器,即status_reg具有1個字段(field_1 < 0:31>)。爲了設置和清除這個寄存器,我試圖獲得這個寄存器的掩碼值。所以一般以獲得掩碼值的計算公式爲: mask = ((~(~0 << (hbit-lbit+1))) << lbit) 在這種hbit較高位置位即31而LBIT較低位置比特i.e.0。 我期待mask值應該是0xFFFFFFFF。但是得到掩碼= 0.任

    2熱度

    3回答

    在去我可以聲明類型化浮動常數是這樣的: const foo float64 = 1e100 或任意位模式的這樣一個浮點型變量: var bar = math.Float64frombits(0x7ff8c0c0ac0ffee1) 但這是一個錯誤(「常量初始...是不是一個常數「): const baz = math.Float64frombits(0x7ff8c0c0ac0ffee1)

    0熱度

    1回答

    當您使用PHP從圖像中提取EXIF數據時,它具有一個整數爲Flash的值。 例如,當轉換爲十六進制時,16是0x10。這意味着閃光燈被關閉,且閃光燈未: 0x0 = No Flash 0x1 = Fired 0x5 = Fired, Return not detected 0x7 = Fired, Return detected 0x8 = On, Did not fire 0

    2熱度

    2回答

    給定的值:0x9e9090ab(10011110100100001001000010101011) 我想分析的價值忽略第32位,這樣我最終有: 0x1e9090ab(00011110100100001001000010101011) 我嘗試在做這個通過位掩碼(0x9e9090ab &〜0x10000000)似乎沒有工作,並導致一個帶符號的負數。 不知道我在做什麼錯在這裏,所以任何幫助,將不勝感激。

    0熱度

    2回答

    我想對一個值應用按位運算,如果該值爲0則將其變爲0;如果該值大於零,則將其變爲1。 具體來說,我想在JavaScript中soultion,圍繞Number(Boolean(value)) 0 -> 0 1 -> 1 2 -> 1 3 -> 1 4 -> 1 ... 辦法,我可以爲位操作實現這一目標?算術運算也不錯。

    -2熱度

    2回答

    我一直在閱讀經典黑客的喜悅,我無法理解邏輯右移,算術右移和右旋之間的區別。如果懷疑似乎太簡單,請原諒。

    1熱度

    2回答

    有沒有一種方法可以在C++中設置,清除,測試和翻轉單個位作爲原子操作?例如按位變量來「compare_and_swap」。

    0熱度

    1回答

    我想在PHP中實現如下所述的某些內容:https://webapps.stackexchange.com/a/101153。到目前爲止,以下似乎工作: 編碼 return rtrim(strtr(base64_encode(pack('Q', $int64)), '+/', '-_'), '='); 解碼 $bytes = base64_decode(strtr($data, '-_', '+

    0熱度

    1回答

    我想將我的bytearray轉換爲二進制文件,例如:「01010101」。對於小文件,它可以無任何問題地進行轉換,但轉換大文件花費的時間太長(即使只有5MB,我也無法想象任何大於此的文件)。有沒有更快的方法將此bytearray轉換爲二進制,反之亦然? 這裏是我的代碼 Public Function conv_FileToByte(ByVal filename As String) D

    2熱度

    1回答

    我正在研究一種樹搜索算法,其中我使用通過比特集表示的元素的二分區,即比特集1000101代表雙分區{0,2,6} {1,3,4,5}。 此刻,我經歷了所有bipartitions迭代只是通過增加一個bitset,即通過一套{0,1,2,3}的所有bipartitions迭代,我從0001(含)到1000(獨家) 因爲有時我的算法允許我在找到合適的雙分區時'快速失敗',我想重新排列它們,以便首先查看