zoukankan      html  css  js  c++  java
  • 用Java的大整数类BigInteger来实现大整数的一些运算

    关于BigInteger的构造函数,一般会用到两个:
    BigInteger(String val); //将指定字符串转换为十进制表示形式;

    BigInteger(String val,int radix); 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。
    例如val是二进制字符串,想把它转换成十进制的BigInteger,可以这样写:

    String val = "01101";
    BigInteger s = new BigInteger(val, 2);

    比较大小的时候要用到compareTo

    import java.io.*;
    import java.util.*;
    import java.math.*;
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		BigInteger a, b;
    		while(sc.hasNext()) {
    			a = sc.nextBigInteger();
    			b = sc.nextBigInteger();
    			System.out.println(a.add(b));	//大整数加法
    			System.out.println(a.subtract(b));	//减法
    			System.out.println(a.multiply(b));	//乘法
    			System.out.println(a.divide(b));	//除法
    			System.out.println(a.remainder(b));	//取模
    			
    			//大整数的比较
    			if(a.compareTo(b) == 0)
    				System.out.println("a == b");
    			else if(a.compareTo(b) > 0)
    				System.out.println("a > b");
    			else if(a.compareTo(b) < 0)
    				System.out.println("a < b");
    			
    			//大整数的绝对值
    			System.out.println(a.abs());
    			
    			//计算大整数的幂次方
    			int exp = 10;
    			System.out.println(a.pow(exp));
    			
    			//返回大整数十进制的字符串表示
    			System.out.println(a.toString());
    			
    			//返回大整数p进制的字符串表示
    			int p = 8;
    			System.out.println(a.toString(p));
    		}
    		sc.close();
    	}
    }
    
    
  • 相关阅读:
    大数加法、乘法实现的简单版本
    hdu 4027 Can you answer these queries?
    zoj 1610 Count the Colors
    2018 徐州赛区网赛 G. Trace
    1495 中国好区间 尺取法
    LA 3938 动态最大连续区间 线段树
    51nod 1275 连续子段的差异
    caioj 1172 poj 2823 单调队列过渡题
    数据结构和算法题
    一个通用分页类
  • 原文地址:https://www.cnblogs.com/KeepZ/p/11617887.html
Copyright © 2011-2022 走看看