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

 我来答
品观人生
推荐于2019-10-22 · TA获得超过5902个赞
知道小有建树答主
回答量:40
采纳率:0%
帮助的人:5533
展开全部
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;
    }
}
托多罗夫1
2018-01-09 · TA获得超过2111个赞
知道小有建树答主
回答量:10
采纳率:85%
帮助的人:9894
展开全部

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式