数据存储的字节顺序
来源:互联网 发布:淘宝货源 知乎 编辑:程序博客网 时间:2024/06/05 03:48
关于字节顺序问题,牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian(大端存储)方式存储数据,而x86系列则采用little endian(小端存储)方式存储数据。
所有网络协议都是采用big endian的方式来传输数据的。所以有时我们也会把big endian方式称之为网络字节序。当两台采用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进行传输。
我们可以通过以下代码验证自己的机子采用的是大端法还是小端法:
#include<stdio.h>
bool is_little_endian() //当返回1时,表示你的机子采用的是小端法存储,反之则为大端法。
{
{
union w
{
int a;
char b;
}c;
c.a = 1;
return (c.b == 1);
}
}
main()
{
bool x;
x=is_little_endian();
printf("%d\n",x);
}
上述is_little_endian() 函数中,共用体union用的很精妙,利用其成员a和b共用同一段内存,并且int型和char型数据占用内存空间的大小差异,巧妙地截取int型数据的低地址字节数据来判断。
- 数据存储的字节顺序
- 字节存储顺序 的判断
- 探究数据内型中每个字节的存储内容和字节顺序
- 机器字节存储顺序
- 信息存储---字节顺序
- 一般情况下的数据存储顺序
- CUDAArray的数据存储顺序
- 关于位域的字节内存储顺序、字节对齐、字节序以及符号
- 关于位域的字节内存储顺序、字节对齐、字节序以及符号
- 判断计算机的字节存储顺序是开序还是降序
- 大端存储 小段存储 网络字节顺序
- 字节的顺序
- 2.寻址和字节存储顺序
- HBITMAP对位图数据存储的字节对齐
- 以字节为单位显示变量的内存存储数据
- 以0x字节方式打印存储的数据
- 以字节为单位显示变量的内存存储数据
- 以字节为单位显示变量的内存存储数据
- js原型理解
- 西雅图十大最具潜质初创公司盘点
- 工厂方法(Factory Method) -- (模式之八)
- Eclipse plugin插件安装
- 寻找发帖“水王”--《编程之美》笔记
- 数据存储的字节顺序
- android布局基础及范例(一):QQ登陆界面设计
- 中文乱码(编码解码)问题的解决办法【转】
- 强烈推荐:240多个jQuery插件
- 已知前序和中序递归后序
- 开发者应深入学习的10个Android开源应用项目
- 【Test Design Studio 3】-05.外部工具
- 已知后序中序递归前序
- 在学习递归后序时学到的东西.