`
ihuashao
  • 浏览: 4745541 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java.math.BigInteger使用心得总结

阅读更多
今天参考课本写了一个关于二进制与十进制转换的程序,程序算法不难,但写完后测试发现不论是二转十还是十转二,对于大于21亿即超过整数范围的数不能很好的转换。都会变成0.
参考书籍发现使用使用BigInteger可以解决这个问题。
于是查找了下JDK,然后测试几次终于写成功了!
使用心得如下:

1,BigInteger属于java.math.BigInteger,因此在每次使用前都要import 这个类。偶开始就忘记import了,于是总提示找不到提示符。

2,其构造方法有很多,但现在偶用到的有:
BigInteger(Stringval)
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
BigInteger(Stringval, intradix)
将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。
如要将int型的2转换为BigInteger型,要写为BigInteger two=new BigInteger("2"); //注意2双引号不能省略

3,BigInteger类模拟了所有的int型数学操作,如add()==“+”,divide()==“-”等,但注意其内容进行数学运算时不能直接使用数学运算符进行运算,必须使用其内部方法。而且其操作数也必须为BigInteger型。
如:two.add(2)就是一种错误的操作,因为2没有变为BigInteger型。

4,当要把计算结果输出时应该使用.toString方法将其转换为10进制的字符串,详细说明如下:
String toString()
返回此 BigInteger 的十进制字符串表示形式。
输出方法:System.out.print(two.toString());

5,另外说明三个个用到的函数。
BigInteger remainder(BigIntegerval)
返回其值为 (this % val) 的 BigInteger。
BigInteger negate()
返回其值是 (-this) 的 BigInteger。
int compareTo(BigIntegerval)
将此 BigInteger 与指定的 BigInteger 进行比较。
remainder用来求余数。
negate将操作数变为相反数。
compare的详解如下:

compareTo

public int compareTo(BigIntegerval)
将此 BigInteger 与指定的 BigInteger 进行比较。对于针对六个布尔比较运算符 (<, ==, >, >=, !=, <=) 中的每一个运算符的各个方法,优先提供此方法。执行这些比较的建议语句是:(x.compareTo(y) <op> 0),其中 <op> 是六个比较运算符之一。
指定者:
接口 Comparable<BigInteger> 中的 compareTo
参数:
val - 将此 BigInteger 与之比较的 BigInteger。
返回:
分享到:
评论

相关推荐

    java.math.BigDecimal 操作类

    java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等

    Can't find a codec for class java.math.BigDecimal.txt

    解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal

    浅析java.math.BigInteger构造过程.pdf

    "浅析java.math.BigInteger构造过程" java.math.BigInteger 是 Java 标准库中一个非常重要的类,它能够表示任意精度的整数,并在其上进行常见的数学运算。下面我们将对 BigInteger 的构造过程进行详细的分析。 ...

    debug:eclipse连接mysql数据库时报错java.math.BigInteger cannot be .pdf

    当开发者尝试在Eclipse中建立与MySQL数据库的连接时,可能会遇到“java.math.BigInteger cannot be”这样的错误。这个错误通常意味着你的项目中的JDBC驱动(即连接MySQL的jar包)与你正在使用的MySQL数据库版本不...

    RSA.rar_BigInteger_RSA BigInteger_RSA java biginteger_RSA 类 java

    在Java中,我们可以使用`java.math.BigInteger`类来处理大整数,这在实现RSA算法时非常关键,因为加密过程中涉及的数字通常超过了普通整型变量的范围。以下是关于`BigInteger`类以及如何在Java中实现RSA加解密的详细...

    关于 Java Collections API 您不知道的 5 件事,第 1 部分

    ### 关于 Java Collections API 您不知道的 5 件事,第 1 部分 在 Java 开发领域,Collections API 已成为一种不可或缺的工具,它不仅简化了许多常见的编程任务,还提供了丰富的特性和灵活性。然而,对于许多开发者...

    java中math类的使用

    BigInteger bi2 = BigInteger.valueOf(123L); bi1 = bi1.add(bi2); // b1 + b2 bi1 = bi1.multiply(bi2); // b1 * b2 bi1 = bi1.subtract(bi2); // b1 - b2 bi1 = bi1.divide(bi2); // b1 / b2 ``` #### BigDecimal...

    java.lang.NumberFormatException For inputstring 4294967295处理方法

    2. **使用BigInteger类**:对于非常大的数值,你可以使用 `BigInteger` 类,它可以表示任意大小的整数。 ```java try { BigInteger bigNum = new BigInteger("4294967295"); } catch (NumberFormatException e)...

    BigInteger.js

    JavaScript支持大整数,页面需要进入BigInteger.js。才能使用

    node-biginteger:java.math.BigInteger的node.js版本

    var n = BigInteger.fromString('abc', 16); n.toString(16); 类方法:BigInteger.fromLong(val) 瓦尔朗 返回:BigInteger 类方法:BigInteger.fromString(val,[radix]) val字符串 radix int,可选,默认值...

    java.math包下计算浮点数和整数的类的实例

    在本篇文章中,我们将详细介绍 Java.math 包下计算浮点数和整数的类的实例,包括 BigInteger 和 BigDecimal 两个类的使用。 BigInteger BigInteger 是 Java.math 包中用于实现任意精度整数运算的类。它提供了高...

    Java中BigInteger.docx

    接下来,`BigInteger.valueOf(2)` 用于创建一个表示数字2的 `BigInteger` 实例,然后 `m.pow(n)` 使用 `BigInteger` 的 `pow` 方法来计算2的n次方。最后,`toString()` 方法将计算结果转换为字符串并打印出来。 `...

    Java中BigInteger方法总结

    ### Java中的BigInteger方法详解 #### 一、引言 在Java中处理大整数运算时,`BigInteger` 类提供了一种高效且灵活的方式。与基本数据类型如 `int` 和 `long` 不同,`BigInteger` 可以表示任意大小的整数,只要不...

    API规范JAVA.pdf

    * java.math 是 Java 2 Platform 的一部分,提供了用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 21、网络应用程序:java.net 为实现网络应用程序提供类。 * java.net 是 Java 2...

    java 类与对象基础

    import java.math.*; class BigIntegerExample { public static void main(String args[]) { BigInteger n1=new BigInteger("987654321987654321987654321"), n2=new BigInteger("123456789123456789123456789...

    java练习_大数运算_BigInteger.pdf

    例如:`BigInteger k = BigInteger.valueOf(1);` 2. `add()` 方法:该方法用于将两个 BigInteger 对象相加。 例如:`BigInt1 = BigInt1.add(BigInt2);` 3. `subtract()` 方法:该方法用于将一个 BigInteger 对象...

    java:大数运算的BigInteger类型(整数类)的一些运算

    import java.math.BigInteger; BigInteger big_number_0=new BigInteger(“A”); A为大数的值,可以是Integer类范围内或外的数。 方法相关(A为前面定义的大数) big_number_0.add(new BigInteger(“b”)) ····...

    JDBC数据类型与数据库字段对应表——mysql篇

    JDBC数据类型与数据库字段对应表——mysql篇 数值型 整型 JDBC tinyint java.lang.Integer smallint mediumint java.lang.Long int bigint java.math.BigInteger

    java中数学操作类的简介共5页.pdf.zip

    除了这些基本的数学操作,Java还提供了其他类来处理复数(`java.math.Complex`),大数(`java.math.BigInteger`和`java.math.BigDecimal`)以及高精度浮点数(`java.math.BigDecimal`)。这些类在需要更高精度或更...

    java实现大数加法(BigDecimal)的实例代码

    2. **使用`BigInteger`**:如果不需要小数点后的精度,可以使用`java.math.BigInteger`,它的性能通常优于`BigDecimal`。 3. **合理设置舍入模式**:`BigDecimal`允许设置不同的舍入模式,选择合适的模式可以减少...

Global site tag (gtag.js) - Google Analytics