当前位置:首页 > 行业发展 > 正文

linux 大小端

小端:高位字节存放在内存中高地址处,低位字节存放在内存中低地址处则是小端;大端:高位字节存放在内存中低地址处,低位字节存放在内存中高地址处则是大端;根据整形二进制显示判断typedefstructTest{inta;intb;}Test_t;Test_tt={.a=5,.b=6};//二进制显示:0...

小端:高位字节存放在内存中高地址处,低位字节存放在内存中低地址处则是小端;大端:高位字节存放在内存中低地址处,低位字节存放在内存中高地址处则是大端;根据整形二进制显示判断typedefstructTe......

小端:高位字节存放在内存中高地址处,低位字节存放在内存中低地址处则是小端;

大端:高位字节存放在内存中低地址处,低位字节存放在内存中高地址处则是大端;

根据整形二进制显示判断

typedefstructTest{inta;intb;}Test_t;Test_tt={.a=5,.b=6};//二进制显示:00000000000000000000000000000101//二进制显示:00000000000000000000000000000110//查看或在内存中的二进制布局

使用gcc进行编译

使用gdb进行调试执行

gdb./testx/4:00000101000000000000000000000000同理x/4:00000110000000000000000000000000

衍生出将多字节整形转单字节来判断大小端

shortinta=3;//0000000000000011charc=(char)a;printf("%d\n",c);//若c是0,则是大端,是3则小端

项目中网络方面通常需要将ipv4、ipv6转换为整型对应的网络地址进行存储

charipv4[]="192.168.0.2";longnip=0;inet_pton(AF_INET,ipv4,nip);longuip=ntohl(nip);printf("%ld,%ld\n",uip,nip);//若两者一样,则是大端(网络序是大端)x/4tbnip0x7fffffffde08:11000000101010000000000000000010x/4tbuip0x7fffffffde30:00000010000000001010100011000000

可以使用linux命令行查询所对应大小端

lscpu

最新文章