我是靠谱客的博主 苹果台灯,最近开发中收集的这篇文章主要介绍写出下列程序在X86 上的运行结果。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

写出下列程序在X86 上的运行结果:

struct mybitfields {
unsigned short a:4;
unsigned short b:5;
unsigned short c:7;
}test;
void main(){
int i;
test.a=2;
test.b=3;
test.c=0;
i=*((short*)&test);
printf("%dn",i);
system("pause");
}


输出结果:50

分析:

a:4表示a占4位

b:5表示b占5位

c:7表示c占7位

内存分配方式是从低位到高位(a在低位,c在高位)

当有赋值:test.a=2(0010)  test.b=3(00011)  test.c=0(0000000)

高   ----------   32   位-------->   低 
00000000   00000000   00000000   00110010 
00000000   00000000   |+++++++|====--|-- 
--------------------—|c------|b------|a- 
---------------------|0------|3------|-2--

X86 上市16位CPU,对应的short占两个字节。

拼成00000000  00110010  这个二进制值(short)为十进制50

 

最后

以上就是苹果台灯为你收集整理的写出下列程序在X86 上的运行结果。的全部内容,希望文章能够帮你解决写出下列程序在X86 上的运行结果。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部