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. 在JS中浮點的讀/寫字節
- 5. 在$ header中合併表單字段CC:
- 6. Rails ActionMailer包含CC字段,無需發送CC郵件
- 7. 字讀/寫器的FileReader和FileWriter的無法讀/寫文件,中國而是字節讀/寫器工作正常
- 8. 從一個字節獲取半字節
- 9. 只寫只讀字段
- 10. 如何在java中將字節緩衝區寫入一半?
- 11. 在一個字節中交換兩個半字節
- 12. <位半字節字節...>使用verilog在32位存儲器中訪問存儲器
- 13. 在C中讀「純」字節
- 14. 半字節制約0-9
- 15. 無符號字符[],位或字節?
- 16. 從verilog文件中讀取一個半字節
- 17. 作爲4位8位字節的半字節,是否有2位或3位的英文單詞?
- 18. 讀取字節數組與將字節數組寫入文件
- 19. 在字節中插入位
- 20. 無法讀取C#中的字節流
- 21. 寫字節在VB
- 22. 從我寫的不同字節讀取
- 23. 讀取/寫入字節數組的Android
- 24. C#中如何減半字節數組?
- 25. PIC C18:從一個字節讀取位
- 26. 讀取下一個字節的位數
- 27. 將字節數組讀入位圖
- 28. 從字節數組讀取3位
- 29. 在solr中禁用小寫字段的小寫字段
- 30. 在C中的位字段#
如果要更新現有的值,你需要清除四位在'字節在享受新價值之前。 '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