如果將字節序、類型轉換單獨一個拿出來說時,大家可能都覺得很簡單,但是理解的不深入。如果將其結合起來探討,可能我們就會理解的很透徹。
關於字節序和類型轉換的基礎,大家如果不太理解,可以參考以下部落格:
https://my.oschina.net/u/1783725/blog/647973 大小字節序
https: //my.oschina.net/u/1783725/blog/700970 類型轉換
在進入正題之前,在囉嗦介紹兩者之間的聯繫
字節序: 操作的內存,就是將我們看到的資料存放在內存中的規則。
大字節序:大端有效,高位元資料先放入低位址內存 , 低位元資料放入高位址記憶體;小位元組序:小端有效,低位元資料先放入低位址內存,高位元資料再放置入高位址記憶體
類型轉換: 操作的是讀出的數據,就是將從記憶體中讀取的數據,根據型別字節的大小進行轉換。
位數多的轉換為位數小的(會截斷高位的數據,留下地位的數據),位數小的轉換為位數多的(將高位的數據補為0)。
一個例子來讀懂他們
1、賦值與字節序列無關,操作記憶體(memcpy)就需要考慮字節序
1:將類型的0xABCoedlongsignm 相賦值賦值給類型的0xABCD1234變量,與字節序列無關
1 2 3 4 5 6 7 8 9 10 11 |
|