Topic: ★一道关于"位运算符"的题目★ |
Print this page |
1.★一道关于"位运算符"的题目★ | Copy to clipboard |
Posted by: sfmcatl Posted on: 2007-01-17 19:14 若有整型变量X=7,Y=8,Z=3,则表达式X^Y&-Z的结果是() A.15 B.16 C.17 D.18 书里 给的答案 是: 15 (一)我用 JCreator 编译得到 结果为 15, 代码如下: import java.math.*; public class test{ public static void main(String args[]) { int X=7,Y=8,Z=3 ,i=X^Y&-Z; System.out.print;//输出 i 的值 } } (二) 可我用 笔算得是 13 . 过程 : 7^8=00001111 ; -3 的补码为 11111101 (00000011按位取反11111100+00000001) 上面的2个结果取& 得1101=13 问题出在哪里 让我的答案 与 书里和编译器里的结果 不一样? 明示. |
2.Re:★一道关于"位运算符"的题目★ [Re: sfmcatl] | Copy to clipboard |
Posted by: JAVACHINA Posted on: 2007-01-17 20:19 我刚才看了一下,问题主要出在逻辑运算符上的优先级问题上: &的优先级比^高,因此在计算时,首先计算的是(Y&-Z),然后才计算^。我在我的机器上试过了,就是这个问题。 |
3.Re:★一道关于"位运算符"的题目★ [Re: sfmcatl] | Copy to clipboard |
Posted by: sfmcatl Posted on: 2007-01-17 20:32 还有一个问题:按位与 按位或 按位 异或 在以后的 编程中 用的多不多? 在一些 学习 java的 教材 中,好象 只有 学到 运算符章节中 才 涉及 到这些 内容, 其他地地方 就没有了. |
4.Re:★一道关于"位运算符"的题目★ [Re: sfmcatl] | Copy to clipboard |
Posted by: sfmcatl Posted on: 2007-01-17 20:49 感谢坛友的回复. 我计算的时候的确忽略了优先级的问题! 谢谢 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |