1.主机字节序
(1)概念:主机字节序又叫做CPU字节序,其不是又操作系统决定的,而是由CPU指令集架构决定的
(2)分为两种:
大端字节序:高序字节储存在低位地址,低序字节储存在高位地址
小端字节序:高序字节储存在高位地址,低序字节储存在低位地址
(3)储存方式:如0x12345678,其中78为低序字节,12为高序字节
内存地址 | 0x00(低地址) | 0x01 | 0x02 | 0x03(高地址) |
大端字节序 | 12 | 34 | 56 | 78 |
小端字节序 | 78 | 56 | 34 | 12 |
2.判断大小端(C语言)
(1)
#include<stdio.h>
int main()
{
unsigned short value=0.1122; //定义一个无标志的短整型
printf("%p,%x\n",&value,*(unsigned char *)(&value);
//将value转化为无标志的字符型,取它的首地址,将其打印出来
return 0;
}
(2)
#include <stdio.h>
int main(int argc, char const *argv[])
{
int num=0x12345678; //定义整型num
char *p=(char *)#//这个地方加强转防止爆警告 //将num转化为char类型取地址
if(*p==0x12){ //如果首地址为0x12
printf("这是大端字节序\n");
}else if(*p==0x78){ //如果首地址为0x78
printf("这是小端字节序\n");
}
return 0;
}
标签:端序,字节,int,编程,value,char,地址,num
From: https://blog.csdn.net/2401_88221000/article/details/143719479