关于c语言的一道选择题,高手帮我看看吧
.设char型变量x中的值为10100111,则表达式(2+x)^(~3)A)10101001B)10101000C)11111101D)01010101高手帮我分析下吧...
.设char型变量x中的值为10100111,则表达式(2+x)^(~3)
A)10101001 B)10101000 C)11111101 D)01010101
高手帮我分析下吧,该选哪个?为什么?先谢谢了处理提问 展开
A)10101001 B)10101000 C)11111101 D)01010101
高手帮我分析下吧,该选哪个?为什么?先谢谢了处理提问 展开
3个回答
展开全部
D, 这么简单。
x = 10100111
2 = 00000010
x+2 = 10101001
---------------------
3 = 00000011
~3 = 11111100 (取反)
--------------------
然后做 异或
x+2 = 10101001
~3 = 11111100
结果 = 01010101
x = 10100111
2 = 00000010
x+2 = 10101001
---------------------
3 = 00000011
~3 = 11111100 (取反)
--------------------
然后做 异或
x+2 = 10101001
~3 = 11111100
结果 = 01010101
追问
大哥,小弟还有一点不懂就是把x+2如何合成,最后等于10101001.还有x+2的结果与~3的结果合成,最后等于01010101。这是什么算法,还望指点一二。谢谢了
追答
x+2 就是简单的2进制加法, 1+1 = 0并且进位1, 0+0=0,0+1=1+0=1,不进位。
x+2的结果与~3的结果合成,是2进制的异或,也就是^。
0^0=1^1= 0 0^1=1^0=1, 也就是 位相同,结果为0, 位不同,结果为1.
我上面的算式回答全部是给你对好位了的,你竖着看啊
参考资料: 就直接在这个文本框里敲敲,结果就出来了,很简单的
展开全部
如果我没记错的话 B这种形式传的是形参,也就是说,在函数内部把x和y交换了但在函数外部,并没有交换x和y 答案是A: 显然不是B啊~~ B,不能
追问
能具体点么?我真是c语言菜鸟,谢谢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥你把表达式搞清楚点先!貌似看不懂啊!
追问
其实,我也没看懂,我是c语言初学者,我感觉一般经常学这个东西的人应该一看就明白了吧。所以我在等能看懂的人呀
追答
不是我不会,(2+x)^(~3) 这表达式似乎不对,你看一下把符号打错没
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询