public class Main { public static void main(String[] args) { //获取一个int数字的32进制数 4*8位 //int 类型是 32位 原理是每一位与1做与运算 //& 1 1 = 1 ,1 0 =0,0 1=0,00=0 与运算 两个数都为1 才为1 与1做与运算,是为了确定n的每一位是否为1或者0 //|运算 0 0 =0,1 1 = 1 ,1 0 =0,0 1=1 或运算 只要有1个为1 就为1 否则0 // ^异或运算 0 0 =1,1 1 = 1 ,1 0 =0,0 1=0 相同为1 不同为 0 // ~ 取反 1为0 0为1 int n = 9; for(int i=31 ;i>=0 ;i--){ //(9&(1<<i))本质就是 计算机底层 9 表示为00000000000000000000000000001001 //1<<i 表示 1向做移动i位 //00000000000000000000000000001001每一位都与1做运算 都为1 才得1 所以打印出00000000000000000000000000001001 System.out.print((n&(1<<i))==0?"0":"1"); } System.out.println(); } }
打印int类型数字32进制 java运算符 与& 或| 异或^ 解析
于 2022-06-12 15:04:32 首次发布