Discuss / Java / 位运算开始懵了

位运算开始懵了

Topic source

暴彤兽

#1 Created at ... [Delete] [Delete and Lock User]

老师给的例子

public class Main {

    public static void main(String[] args) {

        int i = 167776589; // 00001010 00000000 00010001 01001101

        int n = 167776512; // 00001010 00000000 00010001 00000000

        System.out.println(i & n); // 167776512

    }

}

为何输出会是167776512,i和n的值不一致,不应该输出0嘛?

有木有大神讲解一下

Seeker_73

#2 Created at ... [Delete] [Delete and Lock User]

按位做与运算,跟i和n的具体值没有关系,得看它们转成二进制后每一位的值,两两做与运算(同1为1,其余为0)。


  • 1

Reply