java程序在控制台输入一个正整数,要求以二进制的形式输出怎么做?

发布网友 发布时间:2022-04-24 14:44

我来回答

2个回答

热心网友 时间:2023-10-17 01:05

public static void main(String[] args) {
        int n = -10;
        String result = "";
        boolean minus = false;
 
        //如果该数字为负数,那么进行该负数+1之后的绝对值的二进制码的对应位取反,然后将它保存在result结果中
        if(n < 0){
            minus = true;
            n = Math.abs(n + 1);
        }
 
        while(true){
            int remainder = (!minus && n % 2 == 0) || (minus && n % 2 == 1) ? 0 : 1;
 
            //将余数保存在结果中
            result = remainder + result;
            n /= 2;
 
            if(n == 0){
                break;
            }
        }
 
        //判断是否为负数,如果是负数,那么前面所有位补1
        if(minus){
            n = result.length();
            for(int i = 1; i <= 32 - n; i++){
                result = 1 + result;
            }
        }
 
        System.out.println(result);
 
    }

 public class Test01 {
        public static void main(String[] args) {
                System.out.println(shi_er(15));
                System.out.println(shi_er(123));
        }
    public static String shi_er(int a) {
        String re = "";
        while (a > 0) {
            int t = a % 2;
            re = String.valueOf(t) + re;
            a = a / 2;
        }
        return re;
    }
}

热心网友 时间:2023-10-17 01:06

王者荣耀里面的吕布上了妲己,赵云恋上了貂蝉,程咬金绑架了王昭君,嘿哈

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com