我正在看一个教程,到目前为止,它给出了以下代码:
boolean p, q;
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");
p = true; q = true;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = true; q = false;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = false; q = true;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));
p = false; q = false;
System.out.print(p + "\t" + q + "\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));任务是修改程序,使其使用1's和0's,而不是true和false。
我不确定这是否是通过强制转换不兼容的类型来完成的,但我认为这是一种方法,因为这是它之前的部分。
有没有人能给出一些建议和解释,解释它为什么会起作用?
发布于 2012-02-02 22:27:19
看起来您只需要将变量声明为int,并将0和1赋值给p和q,并确保在所有情况下都使用java's bitwise operators (乍一看,似乎是这样)。More info on bitwise operation from wikipedia。
https://stackoverflow.com/questions/9113896
复制相似问题