亲测如下
二、大端与小端的区别
由于这个概念第一次提出时是来指代字节顺序,而且计算机物理最小处理单元通常为一个字节,所以通常情况下无论是大端还是小端都是以字节(8bit)计,在字节之内都是以大端顺序排列。但不排除以后随着计算机的发展将这个数字扩充。
字节排序 | 含义 |
---|
Big-Endian | 高位在前,低位在后。 |
Little-Endian | 低位在前,高位在后。 高位高字节 低位低字节 我的电脑就是这样的 add by ralf |
——————————————————————————————————————————————
#include <iostream>
using namespace std;
typedef unsigned int UINT;
typedef unsigned char UCHAR;
int main()
{
UINT i=0x12345678;
cout<<hex<<i<<endl;
UCHAR *p = (UCHAR*)&i;
//将i的地址传给数组指针p
//实际上p指向的地址是i在内存中存储的第一个字节 (低位 也就是低字节)
//大端就是0x12,小端就是0x78
//大端(big endian):低地址存放高有效字节
//小端(little endian):低字节存放低有效字节
//add by ralf intel公司还是蛮好的
if(*p==0x78)
cout<<"小端"<<endl;
else if(*p==0x12)
cout<<"大端"<<endl;
else
cout<<"这是神马字节顺序呢?";
return 0;
}
评论