Big-Endian和Little-Endian的判断,以及我写的C语言测试程序
来源:互联网 发布:三中三复式计算器软件 编辑:程序博客网 时间:2024/06/11 01:48
1,什么是字节顺序
指的就是数据在内存里存储的顺序,通常我们默认一个存储单元为1Byte,一个逻辑数据比如Float是4个Byte,它在内存理存储的顺序可以是高字节在前,也可以是低字节在前.这样就有区分了.
2,有些什么顺序:
Big-Endian(MSB),高字节在低地址 中文称“大端”
Little-Endian(LSB),低字节在低地址 中文称“小端”
3,为什么要有字节顺序?
因为程序需要与外界通讯,传送数据,这里的外界包括其他机器和其他语言写的程序.比如x86下c++程序与linux底下的程序通讯,比如c++和java的程序通讯.都会涉及到字节存放顺序的问题.
4,哪些会是Big-Endian,哪些会是Little-Endian
网络协议都是Big-Endian的,Java编译的都是Big-Endian的
Motorola的PowerPC是Big-Endian的
x86系列则采用Little-Endian方式存储数据。
ARM同时支持 big和little,实际应用中通常使用Little-Endian
5. 我的示例程序,可以测试本机CPU是哪种Endian
* Name: check_endian() by stephenzhu 2012/03/15
* Fuction: to check the CPU's Byte order(Big or Little Endian)
*
* Big-Endian:
* IBM
* Motorola PowerPC
* Sun
* Little-Endian:
* x86
* arm default
* (ARM's Endian is configuable, default is Little-Endian)
* *********************************************************/
void check_endian(void)
{
unsigned short thenumber=0xaabb;
if( *((unsigned char *)&thenumber) == 0xaa)
printf("Big Endian.\n");
else
printf("Little Endian.\n");
}
- Big-Endian和Little-Endian的判断,以及我写的C语言测试程序
- 写程序判断big endian little endian
- big-endian和little-endian的判断和引申
- little-endian和big-endian的区别
- Little endian 和 big endian 的区分
- Big Endian和Little Endian的区别
- Big Endian和Little Endian的转换...
- Big Endian和Little Endian的区别
- Little endian和Big endian的区别
- Big Endian和Little Endian的区别
- Big Endian和Little Endian的区别
- Big Endian和Little Endian的区别
- Little-endian和Big-endian的区别
- Big Endian和Little Endian的区别
- BIG Endian 和 Little Endian(small endian)模式的区别
- 什么是little-endian和big-endian,如何用程序判断
- 判断little endian和big endian
- 判断Big Endian 和 Little Endian
- sqlite3插入数据或更新数据的database is locked问题
- 在WINDOWS下使用PHP+MYSQL的乱码问题--统一换成UTF-8
- [转]android detect screen on and screen off
- 编译器不正确造成的提示:ts_test: line 1: syntax error: unexpected \"(\"
- 在ARM+LINUX上使用pppd拔号上网(GPRS)流程
- Big-Endian和Little-Endian的判断,以及我写的C语言测试程序
- [转贴]WindowsXP下搭建Git服务器
- [转]C++著名程序库的比较和学习经验
- wget 1.13.4 移植到嵌入式ARM上的过程
- C语言中指向函数的指针(我见过的讲的最清晰的文章)
- 摆脱穷人思维,成就财富梦想
- JAVA传给方法的参数详解
- Java读写文件(字符流)简单例子
- JAVA中获取日期和时间(使用Calendar类)