bit-fields

    1熱度

    1回答

    我有一些問題,包括位字段的結構。考慮下面的代碼: #pragma pack(push, 1) struct DATA_WARNINGS { unsigned char fl_num : 8; unsigned char dev_reload : 1; unsigned char : 1; unsigned long long flags : 54;

    13熱度

    5回答

    有人會知道如何提取位字段成員的大小。下面的代碼自然會給我一個整數的大小,但是我怎麼知道mybits.one中有多少位或字節?我試過sizeof(test.one)但顯然不行。我知道這是一個比特的測量: #include <iostream> using namespace std; int main() { struct mybits { unsigned int

    0熱度

    1回答

    我必須使用InputDevice.getSources()方法來確定InputDevice的類型(源)。但不是返回一個預定的整數,而是返回一個組合的位域,例如:16786707(這是我的遊戲手柄的實際值)。 正如您所見,16786707未在InputDevice文檔頁面中列出,因爲它是在運行中生成的。如何解析數字16786707以確定InputDevice是否爲:SOURCE_CLASS_JOYS

    2熱度

    2回答

    如果我們有位域的結構,那麼後續成員如何在結構中對齊?請看下面的代碼: struct A{ int a:1; char b; // at offset 1 }; struct B{ int a:16; int b: 17; char c; // at offset 7 }; printf("Size of A: %d\n", (int

    0熱度

    1回答

    我有一個256字符長的字符串我用作位域,我想用JavaScript縮小,因此我可以將它用作url中查詢字符串的一部分。我不確定最佳/最有效的方法是什麼。 我想我想要類似於這個解決方案的東西,Create a large bitfield,但是我的位域只有1和0。 任何想法?

    1熱度

    1回答

    我有幾個在C程序中創建的僞寄存器結構,並使用結構和聯合來實現字段並將所有寄存器集中在一起。 每個成員,領域等都有文檔註釋,但生成的文檔沒有顯示位字段的文檔......我該如何解決這個問題,以便他們的文檔被包含在輸出中?我執行的 實例(它是bitNName評論認爲不顯示): /** This shows in documentation. */ union REG1 { int all;

    1熱度

    1回答

    C中有幾種類型保證至少有一定的尺寸,但不一定是這個尺寸(sizeof(int)可能會導致2或4)。但是,我需要確定一些尺寸和內存位置。如果我有一個工會,如下面: typedef union{ struct{ unsigned int a:1, b:1, c:1, d:1, e:1, f:1, g:1, h:1; }; unsigned int val:8;

    2熱度

    2回答

    如何獲得32位int的前11位與​​? import ctypes class Fields(ctypes.Structure): _pack_ = 1 _fields_ = [('a', ctypes.c_uint, 11)] class BitField(ctypes.Union): _pack_ = 1 _fields_ = [('b', Fi

    2熱度

    1回答

    我試圖定義一個10字節的字段,在sql服務器中我會使用varbinary(10) 我知道bytea將圖像替換爲varbinary(MAX)但沒有找到有關限制其中的位數的文檔 有沒有辦法做到這一點?

    3熱度

    3回答

    假設我的項目包括從包含該第三方庫頭: struct foo { signed int x:4; }; 沒有假設位字段總會有寬4,並且不依賴於實現定義的行爲,我怎麼能確定可存儲在會員x中的最大值?