如何在C中讀取和製作DWORD
變量,其中包含低位和高位字以及低位和高位字節?DWORD變量,包含低/高字和低/高字節
2
A
回答
2
在Win32中,a DWORD是一個32位無符號整數。在其他情況下,它可能意味着別的東西。
Assuminng Win32的定義(和其他Win32類型定義):
BYTE lsb = 0x11 :
BYTE next_lsb = 0x22 :
BYTE next_msb = 0x33 :
BYTE msb = 0x44 :
DWORD dword_from_bytes = (msb << 24) | (next_msb << 16) | (next_lsb << 8) | lsb ;
dword_from_bytes
將具有值0x44332211
。
同理:
WORD lsw = 0x1111 :
WORD msw = 0x2222 :
DWORD dword_from_words = (msw << 16) | lsw ;
dword_from_words
將具有值0x22221111
。
爲了提取說從dword_from_bytes
例如第三字節:
next_msb = (dword_from_bytes >> 16) & 0xff ;
雖然& 0xff
不是在這種情況下給定的next_msb
類型嚴格必須的,但如果接收機的類型是大於8位它將屏蔽掉msb位。
3
相關問題
- 1. 低+(高 - 低)/ 2便宜比(低+高)/ 2
- 2. 從字節數組中確定x和y的高字節和低字節
- 3. 在一個字節中讀取最高半字節和最低半字節
- 4. 獲取的Java字節緩衝區內從字節低和高次半字節
- 5. 按價格從低到高從高到低從高到低magento2
- 6. SSE,交錯低位和高位字
- 7. 蟒蛇 - 猜數字 - 高和低
- 8. 在C++中設置(短整型)的高位和低位字節
- 9. Arduino高低
- 10. 由PHP的MySQL sortin低到高和高到低
- 11. 傅立葉變換高頻和低頻
- 12. VISTA/Win7的低音和高音音量
- 13. 佈局與重量和最低高度
- 14. 浮動最低和最高
- 15. 價格低和高搜索
- 16. 訂購最高和最低
- 17. 低維和高維數據
- 18. 低和高DWORD => size_t
- 19. 最高值和最低值
- 20. 降低cufon文字上的線高度
- 21. PHP:過濾太高,數字太低
- 22. 轉換高的數字更低格式
- 23. 解壓縮然後從圖像字節數組中堆疊高低字節
- 24. 剝離高/低ascii
- 25. 最高到最低
- 26. 檢查變量的最高和最低日期
- 27. 確定變量具有最高值和最低值
- 28. 價格低 - 高/高 - 低過濾器PHP/Mysql
- 29. Matlab函數的衝浪軸從高到低我要低到高?
- 30. 低熵字母數字字符串的高效哈希函數
現在它開始變得有意義。但是'<<', '>>和'|'實際上是什麼意思?謝謝! – Midas 2010-11-21 12:22:37
最好使用專用的宏,比如'HIWORD','LOWORD','MAKELONG'等等。因爲不同的處理器使用不同的字節順序(小/大端等) – valdo 2010-11-21 13:02:20
好吧,沒關係。我已閱讀關於按位運算符的文檔,並瞭解它現在的工作原理! – Midas 2010-11-21 13:09:55