使用BigInteger实现除法取余

目录
  • BigInteger 除法取余
    • 1、BigInteger是什么?
    • 2、BigInteger实现除法取余
  • BigInteger简单使用及方法总结
    • 下面我总结几种关于BigInteger的常用用法:
      • 1、probablePrime和nextprobablePrime。(判断质数,并返回)
      • 2、valueOf()(对数据初始化)
      • 3、四则运算
      • 4、remainder(取余)
      • 5、divideAndRemainder(先除后取余,结果分别存在数组中)

BigInteger 除法取余

1、BigInteger是什么?

Java中,整形的最大范围是64位的long型整数。但是如果我们使用的整数超过了64位呢?这时候就用到了BigInteger。BigInteger内部使用int[]数组来存储足够大的整数。

2、BigInteger实现除法取余

public class BigIntTest {
    public static void main(String[] args) {
        BigInteger bigInteger = new BigInteger("45615146541561");
        BigInteger bigInteger2 = new BigInteger("6541315");
        BigInteger[] resBigIntegers = bigInteger.divideAndRemainder(bigInteger2);
        System.out.println("两数相除,整除结果为:" + resBigIntegers[0]  +
                           ",余数为:" + resBigIntegers[1]);
    }
}

运行结果:

BigInteger简单使用及方法总结

BigInteger 可以用来解决数据的溢出问题!

下面我总结几种关于BigInteger的常用用法:

1、probablePrime和nextprobablePrime。(判断质数,并返回)

BigInteger.probablePrime(int x);

返回有可能是素数(质数),具有指定长度的正数BigInteger,返回可能是合数的概率不超过2的负100次方, 

BigInteger.nextprobablePrime(int x)

返回大于此BigInteger的有可能是素数(质数),具有指定长度的正数BigInteger,返回可能是合数的概率不超过2的负100次方

2、valueOf()(对数据初始化)

BigInteger valueOf(long val)

用法如下:

3、四则运算

(add(加)。subtract(减)。multiply(乘)。divide(除))

调用方式如上图,可以重复调用

4、remainder(取余)

返回其值为取余后的BigInteger类型的值,例子如下

调用的时候要保证数据是BigInteger类型的,可以用初始化(valueOf)或者new一个。

5、divideAndRemainder(先除后取余,结果分别存在数组中)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java大数字运算之BigInteger 原创

    在 Java 中,有许多数字处理的类,比如 Integer 类.但是Integer 类有一定的局限性,下面我们就来看看比 Integer 类更厉害的一个,BigInteger类. BigInteger类型的数字范围较 Integer 类型的数字范围要大得多.我们都知道 Integer 是 Int 的包装类,int 的最大值为 231-1,如果要计算更大的数字,使用Integer 数据类型就无法实现了,所以 Java 中提供了BigInteger 类来处理更大的数字. BigInteger 支持任

  • Java中BigDecimal类与int、Integer使用总结

    前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(123.3 / 100); 输出: 0.060000000000000005 0.5800000000000001 401.49999999999994 1.23299999999999

  • Java中两个大数之间的相关运算及BigInteger代码示例

    Java中两个大数之间的相关运算及BigInteger两段实例代码,具体如下. 大数相减 import java.util.Scanner; /* 进行大数相减,只能对两个正数进行相减 */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); String a,b; while (scan.hasNext()) { BigNumber big=

  • 使用BigInteger实现除法取余

    目录 BigInteger 除法取余 1.BigInteger是什么? 2.BigInteger实现除法取余 BigInteger简单使用及方法总结 下面我总结几种关于BigInteger的常用用法: 1.probablePrime和nextprobablePrime.(判断质数,并返回) 2.valueOf()(对数据初始化) 3.四则运算 4.remainder(取余) 5.divideAndRemainder(先除后取余,结果分别存在数组中) BigInteger 除法取余 1.BigIn

  • C#编程实现取整和取余的方法

    本文实例讲述了C#编程实现取整和取余的方法.分享给大家供大家参考,具体如下: "%"为取余号,不用多说. "/"号现在整形运算是取整,浮点运算时为除法运算,如54/10结果为5,54.0/10.0结果为5.4而且取整时不进行四舍五入只取整数部分,如54/10和56/10是5. Math.Celling()取整数的较大数,即向上取整.相当于不管余数是什么都会进一位.如Math.Celling(54.0/10.0)结果为6. Math.Ceiling(Convert.T

  • Java中的相除(/)和取余(%)的实现方法

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2.计算模或者余数 r = a - c* b . 取模运算和取余运算在第一步不同: 取余运算在取c值时,向0方向舍入:而取模运算在取c值时,是向负无穷方向舍入 各个环境下运算符%的含义不同,C/C++,Java为取余,python为取模 Java取余运算规则如下: a%b = a - (a/b)*b 让

  • python取余运算符知识点详解

    python取余运算符是什么? python取余运算符是%,即表示取模,返回除法的余数. 假设变量: a=10,b=20: 那么b % a 输出结果 0 注: Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 python 取整与取余规则 1)  //运算取整时保留整数的下界,即偏向于较小的整数 2)      int是剪去小数部分,只保留前面的整数 3)   round函数遵循四舍五入的法则 >>&

  • java 取模与取余的区别说明

    取模与取余的区别 对于整型数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余数: r = a - c * b 求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数):而取模运算在计算c的值时,向负无穷方向舍入(floor()函数). 例如计算:-7 Mod 4 那么:a = -7:b = 4: 第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入): 第二步:计算模和

  • C++中取余运算的实现

    一.C++中的整数除法 C++中整数除法和取余用的是truncate除法(舍0取整),而给无符号类型赋值超出表示范围时候用无符号类型等于赋值对无符号类型可以表示的数值总数取余,智力的取余是基于floor除法的(向下取整). 在整数除法中,Java/C 等语言用的是 truncate 除法,Python 用的是 floor 除法. 1.truncate 除法 向零取整.向 0 方向取最接近精确值的整数,换言之就是舍去小数部分,因此又称截断取整(Truncate).可以这样理解,先用浮点数除法进行计

  • C语言中四种取整方式,取余/取模运算以及负数取模问题详解

    目录 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 总结 零向取整.负无穷向取整.正无穷向取整.四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取整方式为零向取整,C语言默认采用的是这种方式 C语言中也有对应的零向取整函数: 同理还有一种函数是负无穷大取整: 它的取整方案是向负无穷大取整: 有地板取整,当然也有正无穷大取整的函数: 它的取整方式是向正无穷大取整: 最后,还有四舍五入取整的函数: 取模/取余 取模概念: 如果a和d是两个自然数,d非零,可以证明存在两个唯一的整

  • PHP整数取余返回负数的相关解决方法

    PHP语言虽然功能强大,但并不代表其没有缺点,在编写代码的过程中未免会遇到一些让人头痛的问题.下面我们将为大家介绍有关PHP整数取余返回负数的解决办法. 我们先来看个例子. 复制代码 代码如下: $res = 16244799483; echo $res%9999999; // 输出结果为 -5069794, 正确的结果应该是4801107 其实这也算上PHP一个BUG吧.最主要是PHP是个弱类型语言.他内置了机器来判断用户的类型. 但是机器毕竟是机器.也有判断出错的时候.就像上面.所以这时候我

  • ASP(VBScript)中整除和取余

    整除 ASP(VBScript) 中整除用"\",比如 m = 5 \ 2,结果为 2. 取余 ASP(VBScript) 中取余用 mod,比如 m = 5 mod 2,结果为 1. 大数注意 m = 4444444444 / 2 n = 4444444444 \ 2 第一句是正确的,第二句运行时会报溢出错误,因为:在整除.取余操作前,数值表达式四舍五入为 Byte.Integer 或 Long 子类型表达式.Long 子类型的范围是 [-2147483648, 2147483647

  • PHP实现大数(浮点数)取余的方法

    本文实例讲述了PHP实现大数(浮点数)取余的方法.分享给大家供大家参考,具体如下: 一般我们进行取余运算第一个想到的就是用百分号%,但当除数是个很大的数值,超出了int范围时,这样取余就不准确了. php大数(浮点数)取余函数: /** * php大数取余 * * @param int or float $bn 除数 * @param int $sn 被除数 * @return int 余数 */ //大数(浮点数)取余方法 function Kmod($bn, $sn) { return in

随机推荐