位运算将十进制转化二进制

来源:互联网 发布:冯大辉 知乎 期权 编辑:程序博客网 时间:2024/05/21 08:47
package lianxi.zhengze.com;


import java.util.Scanner;


public class ErJinZhi {


public static void main(String[] args) {
//1、取得十进制值
//2、while循环算法转换
Scanner sc = new Scanner(System.in);
int original = sc.nextInt();//取得十进制数
int operation = Math.abs(original);//因为负数在内存中补码和原码不一样,所以要将其求绝对值
StringBuilder builder = new StringBuilder();
do{
if((operation&1) == 0) { //除非最后一位为1,否则不管什么值,与1相与都为0,从则知道最后一位是什么值
builder.insert(0, 0);
}else {
builder.insert(0, 1);
}
operation>>=1;
}while(operation != 0);


if(original < 0) {  
builder.insert(0, "-");
}
System.out.println(builder.toString());
}


}
阅读全文
0 0
原创粉丝点击