字节顺序:大端模式和小端模式

字节顺序有“大端模式” 和 “小端模式” 两种
字节顺序只是对内置数据类型而言例如对于一整型(int,int 是内置数据类型)数,比如 0x123456
大端模式:
高地址---------->低地址 
 0x56 | 0x34 | 0x12
小端模式:
高地址 ---------->低地址
 0x12 0x34 0x56 
但对于字符串没有大端和小端的说法(虽然字符是内置数据类型,但字符串不是),比如 “123456”,不管系统是大端还是小端模式,其在内存中的字节顺序都是:
低地址 -------------------------------> 高地址
0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36
 
单个字节内的比特位不受这种字节顺序的影响,大于一个字节的数据类型才有字节顺序的问题
比如一个字节 1000 0000(或表示为十六进制 80H),不管是什么大端还是小端顺序其在内存中的表示都是这样(二进制):1000 0000。
 
网络字节顺序是“所见即所得”的顺序,即大端模式
比如 int n = 0x567589;
所见到的是“567589”,大端顺序也是
低地址 ----------> 高地址
0x56 | 0x75 | 0x89
这就是网络字节顺序,所见到的顺序和在内存中的顺序是一致的。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

posted @ 2018-03-17 15:29  流浪的Coder  阅读(4067)  评论(1编辑  收藏  举报