數據報文解析中的高低位轉換問題。


bit(比特)

為1數據位,取值 0或1;

byte(字節)

1字節8個bit ,一個byte表示無符號類型unsigned表示為0-255之間的值,表示有符號為-128-127。何為有符號類型,即可以表示為負數,0,正數,而無符號類型則僅表示為大於等於0的值

word(字)

在16位的系統中(比如8086微機) 1字 (word)= 2字節(byte)= 16(bit)
在32位的系統中(比如win32) 1字(word)= 4字節(byte)=32(bit)
在64位的系統中(比如win64)1字(word)= 8字節(byte)=64(bit)

 最小的內存塊成為“字節”,儲存的基本單位稱為“字”。

最近做數據采集時,采集的16進制報文,流量占用數據區4個字節,其中低位在前,高位在后。

報文為: 

37 07 00 00

流量數據占用四個字節,這條數據只占用了2個字節,低位在前那么就是 37是低位,07是高位;

上面說了一個字節8個bit 那么2個字節就是16個bit  轉換程二進制顯示就是

00000000  00000000

二進制數據 從右到左依次是低位到高位,十進制也是這樣 例如:86000 八萬六 最高位是萬位在最左側。

37位低位,07是高位  分別將 16進制的 37 和07 轉換為二進制數據

37----》 110111

07----》 111

按照高低位規則轉換后得到二進制數據

00000111 00110111

將其轉換為10進制數據得到 

1847

得到最終展示的數據1847.

 

一般一個16位(雙字節)的數據,比如 FF1A  (16進制)
那么高位字節就是FF,低位是1A

如果是32位的數據,比如  3F68415B
高位字 是3F68
低位字是415B

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM