帮忙解释 if(((1 << j) & i) != 0) 是什么意思 谢谢!!!
public class OperPromotionDemo{
public static void printIntBinary(String s, int i) {
System.out.println(s + ", 整数: " + i + ", 二进制: ");
System.out.print(" ");
for(int j = 31; j >= 0; j--)
if(((1 << j) & i) != 0)
System.out.print("1");
else
System.out.print("0");
System.out.println();
}
public static void printByteBinary(String s, int i) {
System.out.println(s + ", 整数: " + i + ", 二进制: ");
System.out.print(" ");
for(int j = 7; j >= 0; j--)
if(((1 << j) & i) != 0)
System.out.print("1");
else
System.out.print("0");
System.out.println();
}
public static void main(String arg[]){
byte a = 10;
byte b = 20;
// byte c = a + b; //加法操作返回的类型最小为四字节整数
int d = 0XFFFE;
long e = 0XFF;
// int a = d + e; //加法操作中的最大数据类型为long,运算结果为long
byte f = 1;
printIntBinary("f + d = ",f + d);
f = 1;
f += d;
printByteBinary("f+=d = ",f);
}
}
帮忙解释 if(((1 << j) & i) != 0) 是什么意思 谢谢!!!