c语言实现
#include <stdio.h>
int checkEndian() {
unsigned int num = 1;
char *ptr = (char *)#
if (*ptr == 1) {
return 1; // 小端
} else {
return 0; // 大端
}
}
int main() {
if (checkEndian()) {
printf("Little Endian\n");
} else {
printf("Big Endian\n");
}
return 0;
}
C++判断大小端
#include <iostream>
union U
{
int a ;
char c;
};
int IsSmallEnd1()
{
union U u;
u.a = 0x11223344;
if (u.c == 0x44)
{//小端 低位存在低地址
return 1;
}
else
return 0;
}
int main()
{
int i = IsSmallEnd1();
if (i == 1)
{
printf("小端模式\n");
}
else
{
printf("大端模式\n");
}
return 0;
}
c++当中使用指针判断
#include <iostream>
int IsSmallEnd2()
{
int a = 0x11223344;
char *p = (char*)(&a);
if (*p = 0x44)
{
return 1;
}
else
return 0;
}
int main()
{
int i = IsSmallEnd2();
if (i == 1)
{
printf("小端模式\n");
}
else
{
printf("大端模式\n");
}
return 0;
}