java中的BigInteger
来源:互联网 发布:网络兼职诈骗案开庭 编辑:程序博客网 时间:2024/05/22 15:14
今天参考课本写了一个关于二进制与十进制转换的程序,程序算法不难,但写完后测试发现不论是二转十还是十转二,对于大于21亿即超过整数范围的数不能很好的转换。都会变成0.
参考书籍发现使用使用BigInteger可以解决这个问题。
于是查找了下JDK,然后测试几次终于写成功了!
使用心得如下:
1,BigInteger属于java.math.BigInteger,因此在每次使用前都要import 这个类。偶开始就忘记import了,于是总提示找不到提示符。
2,其构造方法有很多,但现在偶用到的有:
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
将指定基数的 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进制的字符串,详细说明如下:
返回此 BigInteger 的十进制字符串表示形式。输出方法:System.out.print(two.toString());
5,另外说明三个个用到的函数。
返回其值为 (this % val) 的 BigInteger。
返回其值是 (-this) 的 BigInteger。
将此 BigInteger 与指定的 BigInteger 进行比较。remainder用来求余数。
negate将操作数变为相反数。
compare的详解如下:
参考书籍发现使用使用BigInteger可以解决这个问题。
于是查找了下JDK,然后测试几次终于写成功了!
使用心得如下:
1,BigInteger属于java.math.BigInteger,因此在每次使用前都要import 这个类。偶开始就忘记import了,于是总提示找不到提示符。
2,其构造方法有很多,但现在偶用到的有:
BigInteger(String val)
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
BigInteger(String val, int radix)
将指定基数的 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(BigInteger val)
返回其值为 (this % val) 的 BigInteger。
BigInteger
negate()
返回其值是 (-this) 的 BigInteger。
int
compareTo(BigInteger val)
将此 BigInteger 与指定的 BigInteger 进行比较。remainder用来求余数。
negate将操作数变为相反数。
compare的详解如下:
compareTo
public int compareTo(BigInteger val)
- 将此 BigInteger 与指定的 BigInteger 进行比较。对于针对六个布尔比较运算符 (<, ==, >, >=, !=, <=) 中的每一个运算符的各个方法,优先提供此方法。执行这些比较的建议语句是:(x.compareTo(y) <op> 0),其中 <op> 是六个比较运算符之一。
- 指定者:
- 接口
Comparable<BigInteger>
中的compareTo
- 参数:
val
- 将此 BigInteger 与之比较的 BigInteger。- 返回:
- 当此 BigInteger 在数值上小于、等于或大于 val 时,返回 -1,0,或 1。
- Java中的BigInteger
- java中的BigInteger
- java中的BigInteger
- java中的BigInteger
- Java中的java.math.BigInteger
- Java中的BigInteger在ACM中的应用
- java中的BigInteger(很好很强大)
- java.math包中的BigInteger和BigDecimal
- Java 中的BigInteger类 (转载)
- Java中的大数据:BigInteger和BigDecimal
- JAVA [BigInteger]
- java biginteger
- java BigInteger
- JAVA BigInteger
- java BigInteger
- JAVA BigInteger
- java BigInteger
- Java --- BigInteger
- Linux使用C读取文件目录
- hdu——poj2470—— Ambiguous permutations
- hdu 1013
- 动手写简单的嵌入式操作系统一
- DC_CheckWatchdog
- java中的BigInteger
- ARM指令集与Thumb指令集的区别
- struts学习(3)——struts核心思想
- 编程之美 1.1 让cpu占用率曲线听你指挥(多核处理器)
- modem_hotplug 脚本解析
- java中遍历map的几种方法介绍
- 【MySQL】关于Repair by keyCache
- Windows socket 之WSAAsyncSelect模型
- Linux性能调优及监控