首页 > 编程知识 正文

代码实现简单工厂模式,cpu大小端怎么判断

时间:2023-05-04 10:16:05 阅读:193845 作者:1853

     首先来了解一下大小端模式。

          大端模式:高位对应低地址,低位对应高地址 ;换而言之,就是数字的高位存放在内存的低址地,低位存放在内存的高地址

          小端模式:高位对应高地址,低位对应低地址 ;即数字的高位存放在内存的高址地,低位存放在内存的低地址

          如下图,我们要存储0x1234这个数,那么大小端模式下的存放分别如下所示,箭头方向是地址增大方向。

Judging_the_big_end_mode(void){ int a =1; char b = *(char*)(&a); return b;}

          解释一下代码,int型占四个字节,我们假设现在cpu是大端模式,则a=0000 0000 0000 0001(存放地址分别为2000h 2001h 2002h 2003h四个字节),则&a取到的地址是2000h,那么b就等于2000h中存放的值0000(也就是十进制的0)

          如果我们假设现在cpu是小端模式,则a=0001 0000 0000 0000(存放地址分别为2000h 2001h 2002h 2003h四个字节),则&a取到的地址是2000h,那么b就等于2000h中存放的值0001(也就是十进制的1)

所以我们只要看b是一个什么值就可以判断cpu的大小端模式了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。