public class TransCode1{ private int data; public void TranCode(int data){ this.data=data; } public void printComplement(){ for(int i=0;i<32;i++){ int t=(data &(0x80000000>>>1))>>>(31-i); System.out.print(t); } } public static void main(String[] args){ TransCode transCode=new TransCode(); transCode.printComplement(); }}
1 回答
已采纳
qq___524
TA贡献171条经验 获得超74个赞
data &(0x80000000>>>1)是将data与0100 0000 0000 0000 0000 0000 0000 0000(二进制)做与运算,如果data的第31位是0,结果就是0,如果是1,结果就是0100 0000 0000 0000 0000 0000 0000 0000,然后在将结果右移(31-i)位,群前面用0填充
添加回答
举报
0/150
提交
取消