一、将 10 进制转为二进制

2019-11-12  本文已影响0人  鼠小倩
题目描述

如输入:13
输出:1101

解题一-除基倒取余法

1.思路
这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数。

那么,在实际实现中,可以用int的一个数来存储最后的二进制,每次求余后把余数存储在int型数的低位,依次递增。
2.代码

public void binaryToDecimal(int n) {
        int t=0;  //用来记录位数
        int r=0; ///用来存储余数
        int bin=0; //用来记录最后的二进制数
        while(n!=0) {
            r=n%2;
            n=n/2;
            bin=(int) (r*Math.pow(10,t));
            t++;
        }
        System.out.println(bin);
    }

解题二-调用API函数

这是处理问题更符合面向对象的一种方式
2.代码

public class Solution{
    public static void main(String[] args) {
        String result=Integer.toBinaryString(13);
        System.out.println(result);
    }
}

3.运行结果


image.png
上一篇 下一篇

猜你喜欢

热点阅读