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();
    	}
    }
    
    
  • 相关阅读:
    大话数据结构笔记
    zsh安装教程
    Matlab安装教程
    7-16 插入排序还是归并排序 (25 分)
    7-14 插入排序还是堆排序 (25 分)
    7-14 二叉搜索树的最近公共祖先 (30 分)
    7-11 笛卡尔树 (25 分)
    中缀转换为后缀和前缀
    7-15 水果忍者 (30 分)
    兔子的区间密码(思维)
  • 原文地址:https://www.cnblogs.com/KeepZ/p/11617887.html
Copyright © 2011-2022 走看看