zoukankan      html  css  js  c++  java
  • 剑指offer-5:十进制转二进制

    一、二进制中‘1’的个数

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

    public class Solution {
        public int NumberOf1(int n) {
            int count = 0;
            while(n!=0){
                count += (n&1);//最低位与1与
                n>>>=1;
            }
            return count;
        }
    }

    二、十进制转二进制

    算法:原始数字对2取整,余数继续取整,直到整数等于0,结束循环,二进制是所有余数的排列,最后得到的余数是最高位。

    负整数,同样,添加一个负号。

    package 十进制转二进制;
    
    import java.util.Scanner;
    
    public class MainDemo {
        public static void main(String[] args) {
            int number = new Scanner(System.in).nextInt();
            StringBuilder sb = new StringBuilder();
            if (number>0) {
                while(number>0) {
                    sb.append((number%2));
                    number = number/2;
                }
                System.out.print(sb.reverse().toString());
            }
            if(number<0) {
                number = -number;
                while(number>0) {
                    sb.append((number%2));
                    number = number/2;
                }
                sb.reverse();
                sb.insert(0,"-");
                System.out.print(sb.toString());
            }
        }
    }
  • 相关阅读:
    ubutu安装phonegap 后出现/usr/bin/env:node No such file or directory的错误
    Ubuntu 14.04 x64 安装 Android SDK
    ubuntu64安装ia32-libs
    redis 配置
    flask部署阿里云
    爬虫数据存储
    selnuim 使用
    python 爬虫解析_1_
    scrapy 数据存储mysql
    scrapy 小案例
  • 原文地址:https://www.cnblogs.com/JimShi/p/11383157.html
Copyright © 2011-2022 走看看