其实除了Python,Ruby外,Java也自带高精,只不过被封装在类里.Java有两个高精类:BigInteger和BigDecimal,分别是高精度整数和高精度小数.本文来简单介绍一下BigInteger类.

构造

BigInteger类只能从String构造.如,

BigInteger a = new BigInteger("233") ;

如果要用Scanner读入一个BigInteger,可以这么写:

Scanner scan = new Scanner(System.in) ;

BigInteger a = new BigInteger(scan.next()) ;

函数

因为Java不支持重载运算符,所以所有的运算都由函数来实现.

BigInteger add(BigInteger val) //求和

BigInteger subtract(BigInteger val) //相减

BigInteger multiply(BigInteger val) //求积

BigInteger divide(BigInteger val) //求商

BigInteger mod(BigInteger val) //取模

BigInteger remainder(BigInteger val) //求余

BigInteger pow(int exponent) //求幂

BigInteger abs() //绝对值

BigInteger gcd(BigInteger val) //求gcd

BigInteger max(BigInteger val) //求较大值

BigInteger min(BigInteger val) //求较小值

BigInteger negate() //相反数

BigInteger leftShift(int n) //左移

BigInteger rightShift(int n) //右移

BigInteger and(BigInteger val) //求与

BigInteger andNot(BigInteger val) //求与+取反(与非)

BigInteger or(BigInteger val) //求或

BigInteger xor(BigInteger val) //求异或

BigInteger not() //取反

int intValue() //转int

long longValue() //转long

double doubleValue() //转double

float floatValue() /转float

byte[] toByteArray(BigInteger val) //转byte数组(底层实现是由byte数组的反码构成的)

String toString() //转字符串

最后说一句,BigInteger在java.math库中.

Code

import java.util.* ;

import java.io.* ;

import java.math.BigInteger;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in) ;

BigInteger a = new BigInteger(scan.next()), b = new BigInteger(scan.next()) ;

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.mod(b)) ;

}

}

java biginteger 取模_Java BigInteger类相关推荐

  1. java long 取模_Java 数组取模分组

    /** * jdk8以上支持 Long类型数组取模分组 * @param arrays 被分组的数组对象 * @param mod 取模值 * @return Map> * 说明:Map> ...

  2. java中的取模_Java 中的取模和取余

    期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 a,b 来说 ...

  3. java取模_Java 中的取模和取余

    期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 \(a\), ...

  4. java hash取模,一致性hash算法及其java实现

    目录 背景 随着业务系统越来越大,我们需要对API的访问进行更多的缓存,使用Redis是一个很好的解决方案. 但是单台Redis性能不足够且迟早要走向集群的,那么怎么才能良好的利用Redis集群来进行 ...

  5. biginteger判断相等_java biginteger怎么比较大小

    展开全部 compareTo方法来比较,小e68a84e8a2ad62616964757a686964616f31333365643662于则返回-1,等于则返回0,大于则返回1 BigInteger ...

  6. java 除 取模_除法运算和取模

    package review20140420; /* * 除法和取模(整数除以整数,会出现除数不能为零的异常) */ public class Test2 { //程序的入口 public stati ...

  7. java除数取余_Java中的相除(/)和取余(%)的实现方法|chu

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...

  8. java hash 取模_HashMap 中的取模和扩容公式推导

    为什么 HashMap 容量 capacity 大小是 2 的 n 次幂? 为什么使用 e.hash & (capacity - 1) 位运算作取模公式? 为什么扩容时使用 e.hash &a ...

  9. mysql取余 和 取模_java 取模运算% 实则取余 简述 例子 应用在数据库分库分表

    java 取模运算%  实则取余 简述 例子 应用在数据库分库分表 求模运算与求余运算不同."模"是"Mod"的音译,模运算多应用于程序编写中. Mod的含义为 ...

最新文章

  1. SPIEC-EASI的微生物网络构建示例
  2. python 图像相似 phash和compare_ssim比较
  3. Java面向对象之USB接口实例
  4. 对CPU的IO操作的理解
  5. 深入了解 Java 之虚拟机内存
  6. formal method satisfiable check
  7. 彻底弄懂dalvik字节码【一】
  8. [react] 除了实例的属性可以获取Context外哪些地方还能直接获取Context呢?
  9. 梅特勒托利多xk3124电子秤说明书_托利多电子秤使用说明
  10. C++基础知识:C++语言中的表达式求值
  11. opencv图像分析与处理(14)- 图像压缩基础知识
  12. 【并查集】并查集专题总结
  13. GNOME Screencaster 将支持 Miracast P2P 传输
  14. java 长整型long_C语言和java 长整型为何打印不同?
  15. 批处理、分时、实时、网络、分布式操作系统的区别
  16. 什么是商业智能(BI),就看这篇文章足够了
  17. 视频动作识别(Action Recognition)综述
  18. 网站打不开如何解决?教你4个方法搞定它!
  19. Java-ForkJoinPool详解
  20. RIP路由防止环路的方法

热门文章

  1. 学习笔记之《Android项目实战——手机安全卫士》
  2. 油烟净化器能不能过环保,该怎么做?
  3. 计算机网络协议栏图片,计算机网络与应用PPT.ppt
  4. DZ先生怪谈国标28181之国标注册
  5. 【一】数据挖掘(DM)到底是何方神圣?
  6. Windows各版本GVLK密钥表
  7. Linux ALSA 之十:ALSA ASOC Machine Driver
  8. VS2012 ddk驱动编译与虚拟机联机调试设置
  9. zabbix配置交换机 网络接口 cpu 内存 监控
  10. 银河麒麟项目经验记录1