商城类网站建设多少钱,微信 网站 织梦,遵义公共资源交易中心电话,metro 网站模板一、大小端字节序问题 大小端是由CPU决定的#xff0c;大小端可以理解为字节顺序#xff0c;所以大小端全称叫大端字节序、小端字节序。其实大端、小端这两个词是从《格列佛游记》里出来的。《格列佛游记》有一段讲的是吃鸡蛋是从大的那头敲开还是小的那头敲开的问题#xf…一、大小端字节序问题 大小端是由CPU决定的大小端可以理解为字节顺序所以大小端全称叫大端字节序、小端字节序。其实大端、小端这两个词是从《格列佛游记》里出来的。《格列佛游记》有一段讲的是吃鸡蛋是从大的那头敲开还是小的那头敲开的问题书中把从大头敲开的那种叫做大端把从小头敲开的那种叫小端第一个指出计算机数据存储顺序问题的人就采用了这个大小端的说法。 这里输入一组数据观察他们在内存中是什么样的
int a 1;这是a的内存地址0x00C5FBDC为了方便观察里面数据采用16进制可以看到a在内存中是01 00 00 00 1.小端字节序
肯定有人有疑惑为什么数据在内存中是倒着存这就是小端存储方式 大小端是以字节来看两个十六进制数)将低位字节存在低位地址就是小端存储如果一个十六进制数0x11223344那么11相对22来说就是高字节就好像十进制的高位一样十进制的123那么1相对2来说就是高位 2.大端字节序 大端字节序是将高位放在低地址将低位放在高地址
3.如果通过代码来判断自己的计算机是大端还是小端
#include stdio.hint check()
{int i1;return (*(char*)i);
}int main()
{int ret check();if(ret1){printf(小端\n);}else{printf(大端\n);}return 0;
}不论里面的字节序是大端还是小端变量的地址都是最低位的地址所以讲int型的 i 取地址强转成char*得到的是最低位地址的一个字节8bit由于我们将 i 赋值成为了1所以如果是小端字节序的话(char) i 会等于1如果是大端字节序的话*(char*)i等于0。 完结
创作不易还请各位小伙伴多多点赞关注✨收藏⭐