永发信息网

请读程序片段: int x=20;printf("%d\n",~x);上面程序片段的输出结果是

答案:5  悬赏:50  手机版
解决时间 2021-04-01 09:33
  • 提问者网友:美人性情
  • 2021-03-31 22:10
请读程序片段: int x=20;printf("%d\n",~x);上面程序片段的输出结果是
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-03-31 23:47
这个是求位非的,比较少见

int x=20

首先把x转为二进制
20/2...得10余0
10/2...得5余0
5/2... 得2余1
2/2... 得1余0
1/2... 得0余1 10100是20的二进制,相当于00010100
~1=0,~0=1 所以有11101011
再把11101011转为十进制
1*2^7+1*2^6+1*2^5+1*2^3+1*2^1+1*2^0
=128+64+32+8+2+1
=235 所以结果是235
全部回答
  • 1楼网友:舊物识亽
  • 2021-04-01 03:59
结果235是错的。
因为计算机存放的是补码,又正数得原码=反码=补码,所以
20的补码:00010100
按位取反(~x)得
  • 2楼网友:一把行者刀
  • 2021-04-01 03:26
-21
  • 3楼网友:雪起风沙痕
  • 2021-04-01 02:00
-21
  • 4楼网友:狂恋
  • 2021-04-01 00:37
运行结果是 -21 不是235
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯