最近看见有人说大端小段,不清楚,查了查发下如下: 在计算机业Big Endian和Little Endian也几乎引起一场战争。在计算机业界,Endian表示数据在存储器中的存放顺序。
大端:高位存在低地址,低位存在高地址;
小端:高位存在高地址,低位存在低地址;(intel的x86,ARM普遍都是属于小端)
下面是段C++代码:
#include<iostream> using namespace std; /****************************** *返回1,为小端;反之,为大端 ******************************/ int CheckCPUendian() { union { unsigned int a; unsigned char b; }c; c.a = 1; return 1 == c.b; } int main() { if(CheckCPUendian()) cout<<"本机为小端!"<<endl; else cout<<"本机为大端!"<<endl; return 0; }
在网络传输中涉及转化与不转化的问题。java的大小端被完全隐藏了,java不允许依赖于大小端的代码。当然如果你真的想判断:调用本地方法。我的理解是本地方法使用其他语言编写的方法、函数,嵌到Java程序中。
原文:http://blog.csdn.net/xiaofengcanyuexj/article/details/24330429