java.math.BigInteger使用心得总结

转载 2013年12月04日 10:09:06
今天参考课本写了一个关于二进制与十进制转换的程序,程序算法不难,但写完后测试发现不论是二转十还是十转二,对于大于21亿即超过整数范围的数不能很好的转换。都会变成0.,使用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中正则表达式和常用的Math、Random、System、BigInteger、BigDecimal、Date/DateFormat、Calendar类的使用

1:正则表达式(理解) (1)就是符合一定规则的字符串 (2)常见规则 A:字符 x 字符 x。举例:'a'表示字符a \\ 反斜线字符。 \n 新行(换行)符 ('\u000A')  ...

Java.math.BigInteger类实例

Java.math.BigInteger类实例

类 java.math.BigInteger

类 java.math.BigInteger java.lang.Object   |   +----java.lang.Number           |           +----java....

Java基础 - 正则,Math,Random,System,Date,SimpleDateFormat,Calendar,BigInteger,BigDecimal

Java基础 - 正则,Math,Random,System,Date,SimpleDateFormat,Calendar,BigInteger,BigDecimal...

Java基础14----正则表达式、Math类、System类、BigInteger、日期类

一、Pattern Matcher二、BigInteger BigDecimal三、System四、SimpleDateFormat五、Calendar

Java学习笔记之常用方法类(三) Data和Calendar类、Math、BigInteger和Random类、Random类

以下是博主学java的时候记的一些笔记,分享给大家,如果有错误或者以为的话,可以在下方留言 Date和Calendar类 使用Calendar类中的static方法getInstance(...

Java常用类-Math、BigInteger、BigDecimal

Math类 java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。 abs     绝对值 acos,asin,atan,cos,sin...

11. JAVA常用类库 Part 3 (Math类、Random类、NumberFormat类、BigInteger类和BigDecimal类) ----- 学习笔记

 11.6 Math类         Math类是数学操作类,提供了一些列的数学操作方法,包括求绝对值、三角函数等等,在Math类中提供的一切方法都是静态方法,所以直接由类名名称调用即可,下...

解析java.math.BigInteger类——构造函数(I)

最早由于做作业,结识了java的BigInrger类。读着读着,越来越觉得有趣。后来作业做完,也不忍丢下它,索性把全部代码研究一遍。      开始的时候,一个上午时间最多读懂2个方法。但是还是有滋...

java学习之路 之 Java常用类-Data类、Math类、BigInteger类、BigDecimai类 及 练习题

日期类: java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java.math.BigInteger使用心得总结
举报原因:
原因补充:

(最多只允许输入30个字)