大数进制转换

作者: atok | 来源:发表于2019-02-27 10:10 被阅读0次

题目(北大)

将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。

做法

使用 java 的 BigInteger类

代码

import java.math.BigInteger;
import java.util.Scanner;
import java.util.Vector;

public class Main {

    
    public static void main(String[] args) {
        String s1 = new String();
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()) {
            s1 = scanner.nextLine(); // 输入一个十进制数
//          System.out.println(s1);
            BigInteger b1 = new BigInteger(s1);
            BigInteger b2 = new BigInteger("2");
            BigInteger zero = new BigInteger("0");
            Vector<BigInteger> v = new Vector<BigInteger>(); // 十进制转换为二进制数
            BigInteger[] arr = b1.divideAndRemainder(b2);
            v.add(arr[1]); // 存储余数
            BigInteger div = arr[0];
            while(!arr[0].equals(zero)) {
                arr = div.divideAndRemainder(b2);
//              System.out.println(arr[0] + " " + arr[1]);
                v.add(arr[1]);
                div = div.divide(b2);
            }
            // v 中存储的即为逆序的二进制数
            // 将二进制数转换为十进制数
            for(int i = v.size()-1; i >= 0; i--) {
                System.out.print(v.get(i));
            }
            System.out.println("");
        }
        scanner.close();
    }
    
}

相关文章

  • 大数进制转换

    题目(北大) 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 做法 使用 java 的 BigIn...

  • 任意进制大数转换

    问题描述:将用字符串表示的M进制大数,转化为用字符串表示的N进制大数。1

  • DAY02 byte short int long float

    字面量,进制,进制的转换,变量,八大数据类型的学习,转义字符的定义和使用,数据类型的显隐式转换运算符的学习。 分享...

  • 【iOS 开发】二进制、十进制、十六进制相互转换的方法

    十进制转换为二进制 十进制转换为十六进制 二进制转换为十六进制 十六进制转换为二进制 二进制转换为十进制 作者:J...

  • python 的进制转换

    十进制, 二进制相互转换 十进制转换为二进制 二进制转换为十进制 十进制, 八进制相互转换 十进制转换为八进制 八...

  • Flutter 进制转换

    10进制转换位16进制 16进制转换位10进制

  • c#学习(一)进制初步认识

    进制转换进制转换表.jpg 二进制的转换 十进制转2进制/8进制/16进制 2进制/8进制/16进制/转十进制 2...

  • python 各种进制的转换

    转换二进制: bin()函数 转换十进制:int()函数 转换十六进制:hex()函数 转换8进制:oct()函数

  • 进制转换

    十进制转换为二进制 185 = 10111001 十进制转换为八进制 185=271 十进制转换为十六进制 185...

  • iOS开发中的进制转换

    进制转换 开发中常用的进制有二进制、十进制、十六进制,此文章旨在说明进制转换的规则、流程;最后用OC写了进制转换的...

网友评论

    本文标题:大数进制转换

    本文链接:https://www.haomeiwen.com/subject/udrxuqtx.html