当前位置: 首页 > 面试题库 >

Java中按位异或的作用是什么?

石博艺
2023-03-14
问题内容

鉴于:

public class Spock {
    public static void main(String[] args) {
        Long tail = 2000L;
        Long distance = 1999L;
        Long story = 1000L;
        if ((tail > distance) ^ ((story * 2) == tail)) {
            System.out.print("1");
        }
        if ((distance + 1 != tail) ^ ((story * 2) == distance)) {
            System.out.print("2");
        }
    }
}

为什么此示例代码不输出任何内容?


问题答案:

在第一,如果你true ^ true = false
排在第二,如果你得到false ^ false = false
becouse ^-是OR exclusiveopeartor,它的手段

true ^ true = false  
true ^ false = true 
false ^ true = true 
false ^ false = false


 类似资料:
  • 问题内容: 这些不同的运算符做什么? 问题答案: <<, >> 分别向左和向右移位]。如果想象左操作数作为位的二进制序列,你正在移那些向左或向右的比特数指示由右操作数。 它们分别是按位 和 , xor和或。你能想到的,并为同行和,但他们会将自己的操作数为位向量,并在每个位执行逻辑运算。没有运算符,但是此运算是“xor”或“exclusiveor”。您可以将“ a xorb”视为“ a或b,但不能同

  • 问题内容: 我正在研究《 Beginning Android Games》 这本书。我注意到的一件事是: 这是我第一次看到这样的变量,所以我不知道它的作用。我在Java中运行代码并创建了一些示例。 如果我运行此代码: 答案将是0?这是为什么? 如果我运行此代码: 起初,我认为这是价值的串联,因此我假设i = 10500,但事实并非如此。答案是一样的。还是0?有人知道这里发生了什么吗? 问题答案:

  • 问题内容: 我正在开发一个小型应用程序,并且尝试使用Hibernate Annotations映射我的实体。我想测试一下出现此异常时一切是否正常: 有人可以解释这个异常是什么吗?这是我第一次看到它。这是我的应用程序的主要内容: 我的hibernate配置非常简单: 这是我正在使用的hibernateMaven依赖项: 有谁可以帮助我吗 ?? 问题答案: 这意味着在某个时候将an 更改为,但是原始接

  • 问题内容: public int add(int a, int b){ while (b != 0){ int carry = (a & b) ; 这是使用按位运算来计算两个整数之和的代码。 如果我手动/编程计算,我会看到它适用于每个整数。但是我无法弄清楚和之间的中间值之间的任何关系。为什么将进位乘以2分配给? PS:我在Java中找到了一个按位乘法和 加法的答案,但这是乘法而不是加法。 问题答案

  • 问题内容: 我是一个仅出于乐趣而编写代码的人,并且在学术或专业环境中都没有真正地去研究它,所以像这些按位运算符之类的东西真的让我感到困惑。 我正在阅读一篇有关JavaScript的文章,该文章显然支持按位操作。我一直看到该操作在某些地方提到过,并且我尝试阅读以弄清楚它到底是什么,但是我似乎一点也不了解。那是什么 清楚的例子会很棒!:D 再问几个问题-按位运算的一些实际应用是什么?您什么时候可以使用

  • 我正在用java做一些位操作 我有2个阵列: 然后我尝试中的一个字节,中的一个字节。 问题是我遇到了一个编译器错误。 “错误可能丢失精度”所需字节已找到int 问题是我如何修复它?