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();
    	}
    }
    
    
  • 相关阅读:
    【hihocoder1255 Mysterious Antiques in Sackler Museum】构造 枚举
    【hihocoder 1257 Snake Carpet】构造
    【HDU 5572 An Easy Physics Problem】计算几何基础
    【hihocoder 1258 Osu! Master】
    Coder-Strike 2014
    [不完全动态凸包]SGU277
    [成都七中]GCD
    [某模拟赛]鸡腿の乒乓
    [TCSRM518Div1]Nim
    BZOJ3289【莫队算法+树状数组+离散化】
  • 原文地址:https://www.cnblogs.com/KeepZ/p/11617887.html
Copyright © 2011-2022 走看看