花式实现十进制转二进制

花式实现十进制转二进制

需求:

就是输入一个十进制数,将它转换成对应的二进制数

examples:

input:  12

output:1100

解题思路:对应下面的大小表

 1 2 4 8 16  32 64  128 256 512 1024

 0 0 1 1

所以为对应二进制数为1100

上代码:

/**
 * 
 * @author xiongda
 * @date 2018年7月10日
 * @description  将十进制数转换成二进制
 */
public class DecimaltoBinary {
    public static void main(String[] args) {
        Scanner in =new Scanner(System.in);
        System.out.println("请输入你想转换的十进制数:");
        int d_num =in.nextInt();
        int size=0;   //记录二进制数的位数
        //先确定该值的大小
        for(int i=0;i<100;i++) {
            if(d_num<(int)Math.pow(2, i)) {
                size=i;break;
            }
        }
        //产生二进制数
        String binary="";
        int temp;  //临时存放结果
        for(int i=(size-1);i>=0;i--) {
           temp=(int)Math.pow(2, i);
            if(d_num>=temp) {
                d_num-=temp;
                binary=binary+"1";
            }else {
                binary=binary+"0";
            }
        }
        System.out.println("对应的二进制数为:"+binary);
    }

}

    原文作者:进制转换
    原文地址: https://blog.csdn.net/qq_29914229/article/details/80993666
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞