字节序及字节排序函数
生活随笔
收集整理的這篇文章主要介紹了
字节序及字节排序函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主機字節序:多于一個字節的數據類型(多字節數據類型)在內存中的存放順序叫主機字節序。
最常見的字節序有兩種:小端字節序和大端字節序。
小端字節序:Little Endian,簡稱LE,將數據的最低字節放在內存的起始位置。也就是說,內存地址較低的字節位存放數據的低位字節,內存地址較高的字節位存放數據的高位字節。可以簡記為:高高低低。
大端字節序:Big Endian,簡稱BE,將數據的高字節放在內存的起始位置。也就是說,內存中地址較低的位存放數據的高位字節,內存地址較高的字節位存放數據的低位字節。可以簡記為:高低低高。
術語“小端”和“大端”表示多字節值的哪一端(小端或大端)存儲在該值的起始地址。小端存儲在起始地址就是小端字節序;大端存儲在起始地址就是大端字節序。
網絡字節序標準規定為大端字節序。
不同平臺上會對主機字節序進行轉化,成為網絡字節序后再進行傳送,到主機后再轉化為主機字節序。
#include <netinet/in.h>uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t host32bitvalue); 均返回:網絡字節序值uint16_t ntohs(uint16_t net16bitvalue); uint32_t ntohl(uint32_t net32bitvalue); 均返回:主機字節序值總結
以上是生活随笔為你收集整理的字节序及字节排序函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模板:保留小数位后多少位
- 下一篇: Android使用ViewPager实现