java - 如何知道 2 位是否可以进行 xor java

标签 java if-statement byte bit

我有一个 8 位长值( 1 字节),称为股息(值为 0x98 = 10011000),我想在股息 (100 ) 的前 3 位和变量 div 的值之间进行异或 ( ^ ) (0x5 = 101)所以我可以有这个(001),if语句试图知道t和div是否具有相同的位大小,以便它们可以进行异或,它用于java中的crc代码

我想这样做:

    long t, res;
    long dividendo = 0x98;   
    long div = 0x5;
    for(int i=0; i< 8;i++ ){       // to extract bit by bit from a byte
     t=(dividendo   >>> (7-i));      
    if( div ^ t ) {
        res = t^div;
        System.out.println(Long.toHexString(res));
    }

最佳答案

如果我正确理解你的意思,你可能会说if(div^t!=0)

关于java - 如何知道 2 位是否可以进行 xor java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951070/

相关文章:

c - 从文件中读取数据到结构体数组 (C)

ios - 如何在 swift 中将字节转换为浮点值?

c# - 字节列表或字节数组列表的排序列表

Linux 上的 JavaFX 显示 "Graphics Device initialization failed for : es2, sw"

java - fromCallable 和 defer 有什么区别?

java - 在itext 7中的行之间添加 Canvas 而不重叠页面

delphi - IF 语句中 OR 和 AND 运算符的中断条件

r - 根据条件匹配R中多列中的值

java - 寻找合适的 Java 数据类型

java - Swing 和最终修饰符