K******g 发帖数: 1870 | 1 如果A=2, B=11, i 从0 到3, 请问下面的式子输出是什么:
((A>>i)&1 != (B>>i)&1) |
P*******b 发帖数: 1001 | 2 1010?
【在 K******g 的大作中提到】 : 如果A=2, B=11, i 从0 到3, 请问下面的式子输出是什么: : ((A>>i)&1 != (B>>i)&1)
|
d**e 发帖数: 6098 | 3 1001?
【在 K******g 的大作中提到】 : 如果A=2, B=11, i 从0 到3, 请问下面的式子输出是什么: : ((A>>i)&1 != (B>>i)&1)
|
b********s 发帖数: 1676 | 4 全0.
A: .... 0010
B: .... 1011
至少移出4位后才会相同。每次做A>>i, B>>i时候,AB的值并没有改变。
i=0 (A>>i)=0010 (B>>i)=1011
i=1 (A>>i)=0001 (B>>i)=0101
i=2 (A>>i)=0000 (B>>i)=0010
i=3 (A>>i)=0000 (B>>i)=0001 |
b********s 发帖数: 1676 | |
d**e 发帖数: 6098 | 6 还有一个&1,所以应该是
i=0 0 != 1
i=1 1 != 1
i=2 0 != 0
i=3 0 != 1
结果应该是 1001
【在 b********s 的大作中提到】 : 全0. : A: .... 0010 : B: .... 1011 : 至少移出4位后才会相同。每次做A>>i, B>>i时候,AB的值并没有改变。 : i=0 (A>>i)=0010 (B>>i)=1011 : i=1 (A>>i)=0001 (B>>i)=0101 : i=2 (A>>i)=0000 (B>>i)=0010 : i=3 (A>>i)=0000 (B>>i)=0001
|
K******g 发帖数: 1870 | 7 大家去试一下,跑出来的结果是
0100
很奇怪,我想了好久都不明白,好像是操作符优先级的问题?
但是好像也不对,如果!=优先级高于&,那么结果应该还是 0000 啊。
【在 d**e 的大作中提到】 : 还有一个&1,所以应该是 : i=0 0 != 1 : i=1 1 != 1 : i=2 0 != 0 : i=3 0 != 1 : 结果应该是 1001
|
s*********t 发帖数: 1663 | 8 1001
如果不是那肯定是优先级的问题
加个括号应该就是了
【在 K******g 的大作中提到】 : 如果A=2, B=11, i 从0 到3, 请问下面的式子输出是什么: : ((A>>i)&1 != (B>>i)&1)
|
s*********t 发帖数: 1663 | 9 果然
编译器说suggest parenthesis around &
还是加括号吧
这种题目毫无意义,没人这么写程序
【在 s*********t 的大作中提到】 : 1001 : 如果不是那肯定是优先级的问题 : 加个括号应该就是了
|
K******g 发帖数: 1870 | 10 这个不是题目,是我在写程序的时候写的。
查了差不多2个小时,一个10几行的代码老是不对,极其打击自信。
【在 s*********t 的大作中提到】 : 果然 : 编译器说suggest parenthesis around & : 还是加括号吧 : 这种题目毫无意义,没人这么写程序
|