bit-fields

    4熱度

    2回答

    可能重複: C++ bitfield packing with bools 它是保證安全使用位域定義中C++的bool關鍵字? 喜歡的東西: struct flags { bool a : 1; bool b : 1; }

    6熱度

    4回答

    我有一個問題,我有點卡住了,並且我被同事告知,這將是一個尋求幫助的好地方。 我想在Java中實現C風格的位域。 下面是一個粗略的例子(我目前沒有實際的代碼在我面前)。 typedef union { typedef struct { unsigned short a :1; unsigned short b :1; unsigned short

    2熱度

    3回答

    可能重複: When is it worthwhile to use bit fields? 我最近找了位運算符和偶然發現了bitfield的概念。這看起來很有趣,而且是一個非常酷的概念,但是何時和/或爲什麼一個人會在他們的代碼中使用它?我知道它在嵌入式系統編程中用得相當多,但爲什麼(我似乎無法找到它爲什麼有用)?它有什麼好處嗎?另外一些地方的位域有用嗎?

    2熱度

    3回答

    我不知道該怎麼稱呼它,所以我不知道如何搜索它。 unsigned int odd : 1; 編輯: 要細說,它來自這個片段: struct bitField { unsigned int odd : 1; unsigned int padding: 15; // to round out to 16 bits }; 我推測這涉及到位,但我仍然不是所有的理解方式。

    7熱度

    3回答

    #include <stdint.h> #include <stdio.h> typedef union { uint64_t u[2]; struct { uint64_t a:30; uint64_t b:30; uint64_t c:30; uint64_t d:30; uint64_t e:8;

    2熱度

    1回答

    我試圖更多地瞭解位字段的工作原理。 考慮下面的代碼: 並假設int是32位 #include <stdio.h> int main() { struct byte { int one:1; }; struct byte var = {3}; printf("%d\n", var.one); printf("%#x\n",

    1熱度

    1回答

    我們有十幾個模擬器在UDP上相互交談。接口定義在數據庫中進行管理。模擬器使用不同的語言編寫;大多數是C++,一些是Java和C#。目前,當系統工程師在接口定義數據庫中進行更改時,模擬器開發人員會手動更新其代碼中的通信數據結構。消息大部分是2-5個字節,每個信號都有位字段。我想要做的是從接口定義數據庫生成一個描述字節和位字段定義的文件,並讓每個開發人員以最小的麻煩將其添加到他的模擬器代碼中。 Bar

    1熱度

    2回答

    哪些位域有用?

    0熱度

    1回答

    我試圖在Objective-C中做一個1位的實例字段,但是當我嘗試這樣做時@property BYTE Z : 1;我得到一個錯誤,說Property name cannot be a bitfield。 我不能這樣做?有沒有解決這個錯誤? 由於

    4熱度

    5回答

    我想知道爲什麼位域可以與工會/結構一起工作,但不能和像int或short這樣的正常變量一起工作。 這工作: struct foo { int bar : 10; }; 但這種失敗: int bar : 10; // "Expected ';' at end of declaration" 爲什麼這個功能僅在工會/結構,而不是與變量可用?技術不一樣嗎? 編輯: 如果將允許你能與例