
main() {union {char ch[2]; int d; }s; s,d=0x4321 printf("%x%x\n",s,ch[0],s,ch[1]); } 求解
2个回答
展开全部
4321转化为十进制为:4x16^3+3x16^2+2x16^1+1x16^0=100001100100001;
内存中一个字节为8位,4321共占两个字节:1000011,00100001
即为:ch[0]=00100001,ch[1]=1000011;
将其转化为16进制为:ch[0]=00100001,ch[1]=1000011;
即为:ch[0]=21,ch[1]=43;
输出:2143
内存中一个字节为8位,4321共占两个字节:1000011,00100001
即为:ch[0]=00100001,ch[1]=1000011;
将其转化为16进制为:ch[0]=00100001,ch[1]=1000011;
即为:ch[0]=21,ch[1]=43;
输出:2143
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询