#include <iostream> #include <stdio.h> #include <malloc.h> #include <string.h> using namespace std; //判断系统是大端还是小端:通过将&int转换为char* int fun() { int num = 1; // *((char*)&num)获得num的最低字节,为0x00,说明是大端 为0x01,说明是小端 return *((char*)&num)?1:0; // 本机返回1:为大端 } //判断系统是大端还是小端:通过联合体,因为联合体的所有成员都从低地址开始存放 int fun1() { union test { int i; char c; }; test t; t.i = 1; //如果是大端,则t.c为0x00,则t.c!=1,返回0 是小端,则t.c为0x01,则t.c==1,返回1 return (t.c==1); } int main() { cout << fun() << endl; cout << fun1() << endl; }
时间: 2024-10-13 11:57:05