ToB企服应用市场:ToB评测及商务社交产业平台

标题: 大小端存储是什么鬼? [打印本页]

作者: 前进之路    时间: 2022-9-16 20:15
标题: 大小端存储是什么鬼?
以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16656222.html
大小端存储的划分是为了解决长度大于一个字节的数据类型内容在存储地址上以不同顺序分布的问题。
比如16位的short整形,32位的int整形,64位的long整形,它们在存储地址上,其实最小的划分单位是字节,那么高低位的字节排列在从低到高的存储地址上有什么规定呢?
如果最高位的字节数据存在最低地址上,而次高位的字节数据按次序排列在次低的地址上,那么这种存储方式就叫大端存储。
如果最低位的字节数据存在最低地址上,而次低位的字节数据按次序排列在次低的地址上,那么这种存储方式就叫小端存储。
那么怎么去判断当前系统属于大端存储还是小端存储呢?
判断方法一:利用单字节类型强制转换多字节类型变量获取返回值比较

下面让我们看看实例代码:
[code]#include using namespace std;bool IsSystemBigEndianStorage(){    short src = 1;    char comp = (char)src;    return (comp == 0);}int main(){    bool ret = IsSystemBigEndianStorage();    if (ret) {        cout




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4