社区
C语言
帖子详情
C语言位段问题(求高手解答)
happy08god
2012-03-19 03:35:58
struct {
int a:2;
}x;
x.a = 1;
printf(" x.a = %d \n",x.a);
x.a += 1;
printf(" x.a = %d \n",x.a);
请问: 2次打印出x.a的值分别是? 对于第2个值如何理解?
...全文
194
3
打赏
收藏
C语言位段问题(求高手解答)
struct { int a:2; }x; x.a = 1; printf(" x.a = %d \n",x.a); x.a += 1; printf(" x.a = %d \n",x.a); 请问: 2次打印出x.a的值分别是? 对于第2个值如何理解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happy08god
2012-03-19
打赏
举报
回复
[Quote=引用 2 楼 wyjxhl97 的回复:]
引用 1 楼 nice_cxf 的回复:
大概是1,-2把
有符号数最高位是符号位
++
就是1,-2。
因为a占2bit,并且因为是int a:2;
所以a = 1 01
a = -2 10
与C/C++ code
char b;
b = 128;
printf(" b = %d \n",b);
原理一样
这个结果b = -128 ……
[/Quote]
明白了,原来如此,是因为有符号数最高位是符号位 。 可以通过%x的方式打印出
内存里面的值,如对-2来说,0xfffffffe,确定是负数后,求其补码,为0x00000010 ,又由于
是负数,所以为-2。
谢谢楼上二位!! 结贴给分!!
WYJXHL97
2012-03-19
打赏
举报
回复
[Quote=引用 1 楼 nice_cxf 的回复:]
大概是1,-2把
有符号数最高位是符号位
[/Quote]
++
就是1,-2。
因为a占2bit,并且因为是int a:2;
所以a = 1 01
a = -2 10
与
char b;
b = 128;
printf(" b = %d \n",b);
原理一样
这个结果b = -128 10000000
nice_cxf
2012-03-19
打赏
举报
回复
大概是1,-2把
有符号数最高位是符号位
备忘录(动销表制作规范)
备忘录(动销表制作规范)
国央企创新负责人如何通过产业大脑优化产业链协同与资源配置?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展
【三变量联合分布函数copula】利用AIC BIC确定单变量最优拟合函数、利用AIC确定三变量联合最优copula函数、计算联合概率(Matlab代码实现)
【三变量联合分布函数copula】利用AIC BIC确定单变量最优拟合函数、利用AIC确定三变量联合最优copula函数、计算联合概率(Matlab代码实现)
(121页PPT)医药集团IT信息化规划报告P121.pptx
(121页PPT)医药集团IT信息化规划报告P121.pptx
国央企创新负责人如何通过数智转型专区推动下属企业实现智能化升级?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章