大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中
判断方法
(一)指针法
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
int val = 1;
char *ret = (char *)&val;
if (*ret == 1)
printf("小端存储");
else
printf("大端存储");
return 0;
}
(二)联合法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
union UN
{
int a;
char c;
};
int main()
{
union UN un;
un.a = 1;
if (un.c == 1)
printf("小端存储");
else
printf("大端存储");
return 0;
}
php 判断方法
1
2
3
4
5
6
7
8
9
10
11
<?php
define('BIG_ENDIAN', pack('L', 1) === pack('N', 1));
if (BIG_ENDIAN)
{
echo "大端序";
}
else
{
echo "小端序";
}
echo "\n";
PHP pack() 函数 函数把数据装入一个二进制字符串。
pack(format,args+)
format 参数
L - unsigned long (always 32 bit, machine byte order)
N - unsigned long (always 32 bit, big endian byte order)
V - unsigned long (always 32 bit, little endian byte order)