3
A
回答
5
使用口罩:
char byte;
byte = (byte & 0xF0) | (nibble1 & 0xF); // write low quartet
byte = (byte & 0x0F) | ((nibble2 & 0xF) << 4); // write high quartet
你可能想把這裏面的宏。
1
您可以使用的最小單位是單個字節。如果你想管理這些位,你應該使用bitwise operators。
-2
你可以自己創建一個僞工會爲了方便:
union ByteNibbles
{
ByteNibbles(BYTE hiNibble, BYTE loNibble)
{
data = loNibble;
data |= hiNibble << 4;
}
BYTE data;
};
使用方法如下:
ByteNibbles byteNibbles(0xA, 0xB);
BYTE data = byteNibbles.data;
+1
與一個成員的聯盟不值得成爲工會...... – 2010-06-24 14:42:11
+0
這是一個強化概念的僞聯盟。我更喜歡它到一些錯誤的宏。 – DanDan 2010-06-24 14:57:21
+1
我更喜歡將內聯函數同時用於宏和僞聯合。 ;-) – 2010-06-24 15:16:41
相關問題
- 1. 在一個字節中讀取最高半字節和最低半字節
- 2. Python - 字節讀/寫和按位與
- 3. 半字節中有多少位?
- 4. 從Java字節中提取半字節
- 5. 在JS中浮點的讀/寫字節
- 6. 在$ header中合併表單字段CC:
- 7. 在C++中以字節爲單位讀寫文件
- 8. Rails ActionMailer包含CC字段,無需發送CC郵件
- 9. 定義可訪問位結合,半字節,字節
- 10. 內存讀寫字節
- 11. 從字節讀取/寫入[]
- 12. 字讀/寫器的FileReader和FileWriter的無法讀/寫文件,中國而是字節讀/寫器工作正常
- 13. 從一個字節獲取半字節
- 14. 從2字節讀取14位數字
- 15. 只寫只讀字段
- 16. 如何在java中將字節緩衝區寫入一半?
- 17. 在一個字節中交換兩個半字節
- 18. 在int的每個半字節中切換位
- 19. 在char元素中交換半字節
- 20. <位半字節字節...>使用verilog在32位存儲器中訪問存儲器
- 21. 在C中讀「純」字節
- 22. 在C++中讀取字節
- 23. 半字節制約0-9
- 24. 無符號字符[],位或字節?
- 25. 從verilog文件中讀取一個半字節
- 26. 讀取字節數組與將字節數組寫入文件
- 27. 在字節中插入位
- 28. 寫字節在VB
- 29. 作爲4位8位字節的半字節,是否有2位或3位的英文單詞?
- 30. 在讀取00字節後停止讀取/讀取字節
如果要更新現有的值,你需要清除四位在'字節在享受新價值之前。 'byte =(byte&〜0xF)| (nibble1&0xF)',並且類似於頂級半字節。 – 2010-06-24 13:32:36
不會命名變量字節 – OlimilOops 2010-06-24 13:36:41
@Mike Seymour:你說得對,我編輯答案。 – 2010-06-24 13:37:48