Java 大整数库的常见操作| #10进制 VS 2进制#

10进制 VS 2进制

https://www.nowcoder.com/practice/fd972d5d5cf04dd4bb4e5f027d4fc11e?tpId=40&tqId=21357&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan&difficulty=&judgeStatus=&tags=/question-ranking

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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            BigInteger a = in.nextBigInteger();
            char[] binary=a.toString(2).toCharArray();
            int n=binary.length;
            //取反
            for(int i=0;i<n/2;i++)
            {   
                char t=binary[i];
                binary[i]=binary[n-i-1];
                binary[n-i-1]=t;
            }
            String tmp=new String(binary);
            BigInteger bi=new BigInteger(tmp,2);
            System.out.println(bi.toString());
        }
    }
}

常见操作

//1.将很长的字符串整数转化成为一个大整数
BigInteger bi=new BigInteger(String str);//eg."280382130818232102"
//2.利用bi转化为不同进制,返回字符串
bi.toString(int radix);//new BigInteger("8").toString(2) 输入"1000"
//3.加减乘除
a.add(BigInteger b);
a.substract(BigInteger b);
a.mutilty(BigInteger b);
a.divid(BigInteger b);
//将不同进制的字符串,转换成大整数
new BigInteger(String str,int jinzhi);

参考文档

[https://www.runoob.com/manual/jdk1.6/java.base/java/math/BigInteger.html]

全部评论

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务