标题:请教一个取反问题
只看楼主
jkyy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-3-15
结帖率:33.33%
已结贴  问题点数:20 回复次数:2 
请教一个取反问题

int main()
{
int a=2;
int b=~a;
printf("b=%d\n",b);
return 0;
}
我打印的结果是" -3 " 不能理解请大神讲一下。
搜索更多相关主题的帖子: return 
2017-01-09 08:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
按8bit算:
00000010(2)= 2(10)
取反
11111101(2)= -3(10有符号)= 253(10无符号)
2017-01-09 10:06
jkyy
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-3-15
得分:0 
谢谢吹水佬,我以为:2 的二进制 10~==01 该是1。
2017-01-09 22:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-473427-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.621751 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved