bitmask

    4熱度

    1回答

    我正在使用第三方應用程序,並試圖根據數據提取有關移位信息的有意義的信息。 shift_pattern_start_dt pattern 2014-05-27 1111000 2015-10-25 1110011 2014-05-27是Tuesday圖案的開始位置是Tuesday。所以我想要結果顯示Tuesday,Wednesday,Thursday和Friday。 201

    -1熱度

    1回答

    我有這個例子: 「如果我們採取的十進制值220(1101 1100)的二進制表示,我們想提取高4位,我們可以使用一個位掩碼與所述布爾AND運算: 1101 1100 (220) AND 1111 0000 (240) _________ 1101 0000 (208) 「 我需要知道如何來240或者你能解釋一下我是怎麼來感謝

    0熱度

    1回答

    我有一個關於位掩碼的問題,我完全不知道。 在應用程序中,目前有采取地址字節[]的方法,並從中確定哪些警報(布爾型)是true的false。 我期待扭轉這一點。我會有一個屬性列表(布爾),並基於哪些是真實的,我會創建一個地址。 是否有一個簡單的內置方法來做到這一點? 任何幫助將不勝感激。下面我附上了我的代碼,以獲取地址中啓用了哪些標誌。 public struct DeviceStatus {

    3熱度

    5回答

    假設你有一個整數a = 0x12345678 &短b = 0xabcd 我想要做什麼用半字節從short b 更換給出半字節integer a例如:用b = 0xabcd(其中d = 0的半字節,c = 0的半字節替換a = 0x12345678(其中8 =第0個半字節,7 =第1個半字節,6 =第2個半字節等等)中的0,2,5,7個半字節)第一級,b =第二級,&等等......) 我的做法是

    1熱度

    1回答

    我想做一個位掩碼。以下定義已經被採用。 #define SEC_NO_FLAGS 0x000 #define SEC_ALLOC 0x001 #define SEC_LOAD 0x002 #define SEC_RELOC 0x004 #define SEC_READONLY 0x008 #define SEC_CODE 0x010 #define SEC_DATA 0x02

    0熱度

    4回答

    我有一個size_t變量nOffset,其中包含我想知道實際需要多少字節來存儲它。我想MSB的位置也可以使用?這是到目前爲止我的代碼(sizeof(size_t) 4): int nLen = 0; if (nOffset > 0xFFFFFF) { nLen = 4; } else if (nOffset > 0xFFFF) { nLen = 3; } else

    0熱度

    1回答

    我想使用C++ 11 enum class作爲位域並找到一個很好的方法here。 但我卡住了,如果我的枚舉類聲明不在全局名稱空間中,而是在自定義名稱空間或類的內部。例如: - #define ENABLE_BIT_OPERATORS(E) template<> struct enable_bitmask_operators<E> { static constexpr bool enable=tru

    1熱度

    1回答

    在我的問題中,我有一組不同的類型和Holder(或容器,如果你喜歡這個術語)這些類型的類。每個Holder都可以關聯到任意類型的元素,但具有任意限制。 問題是,類型的結構可能相當複雜,我可以有一些亞型,如A1,A2,A3,B1,B2與一些不同的行爲。 例如,我可以有一個類Car和亞型Convertible,和其他類Helicopter與Apache亞型,使容器能夠與僅此兩種特定類型的關聯。 Car

    0熱度

    1回答

    我正在解決一個問題,因爲破解編碼採訪需要我用一個儘可能少的指令來交換整數中的奇數和偶數位(例如位0和1是交換,位2和3交換等) 作者的解決方案圍繞使用掩碼來抓取一個數字中的奇數位,並在另一個數字中抓取偶數位,然後將它們移出1 我得到她的解決方案,但我不明白她是如何抓住偶數/奇數位的。她創建了兩個位掩碼 - 雙十六進制 - 爲一個32位整數。這兩個是:0xaaaaaaaa和0x55555555。我知

    1熱度

    3回答

    我想要一個函數,它需要一個位掩碼Int,並將其掩碼值作爲一組Int返回。是這樣的: func split(bitmask: Int) -> Set<Int> { // Do magic } 使得 split(bitmask: 0b01001110) == [0b1000000, 0b1000, 0b100, 0b10]