• 用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();
    	}
    }
    
    
  • 相关阅读:
    Netty实现客户端和服务端通信简单例子
    上拉电阻的作用
    c语言常量指针赋值给变量指针导致警告
    修改ultisnips的默认键
    为debian8.2更换官方源
    linux下添加用户到sudo组
    用rfkill命令管理蓝牙和wifi
    用platformio编写arduino程序
    ubuntu下gcc-avr安装
    UNIX环境高级编程(第三版)关于apue.h的用法
  • 原文地址:https://www.cnblogs.com/KeepZ/p/11617887.html
Copyright © 2020-2023  润新知