大小端字节序问题及习题分析

本文介绍了大小端字节序的概念,通过代码示例展示了如何判断机器的字节序,并提供了一道C/C++面试题进行分析。在小端字节序的32位机器上,当输出long long类型的变量a、b、c时,由于%d格式符处理int类型,结合压栈顺序,可以推断输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在看大小端问题之前,我们先来看看什么是大小端字节序

大端字节序:高位低地址,低位高地址

小端字节序:低位低地址,高位高地址


 那么我们知道大小端字节序能干什么呢?

我们可以知道当前机器的存储方式,我们来写个代码测试一下   (注:在vs2012下编译的)

#include<stdio.h>
#include<stdlib.h>
int check()
{
int i = 1; //这里取1,是因为1的二进制比较简单,如果我们选取一个比较大的数,我们在判断的时候还要计算一下高地址或者低地址放的是什么 ,当然也没必要这么坑自己
int *p =  &i;  //取i的首地址给指针P,因为i是整型的,所以我们给个整形指针去存放i的首地址
if(*p==1)  //根据上面画的图给出判断
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值