在java中,int类型是4个字节,一共32位。
java中int有正负,所以int类型表示范围位是
-(2^(31))到 2^(31)-1
如何打印一个int类型的变量的二进制?
因为有32位置,所以我们从31-0开始计算,用该数字和1 <<(左移,相当于×2) i位相与。
/**
* ClassName:Test1
* Package:Work2
* Description:
* 打印int的二进制
* @date:2022/2/28 7:25
* @author:HDLaZy
*/
public class Test1 {
public static void print(int num){
for(int i=31;i>=0;i--){
//32位,则从最高位开始和1与运算,<<左移运算符
System.out.print((num & (1<<i))==0 ? "0" : "1");
}
}
public static void main(String[] args) {
int a=Integer.MIN_VALUE;
print(a);
}
}