读书人

思忖使用大数值

发布时间: 2013-02-18 10:50:49 作者: rapoo

考虑使用大数值

如果连long类型也无法满足需求,如果需要高精度的浮点数,那么可以考虑使用java,math包里的两个有用的类:BigInteger和BigDecimal,它们可以包含任意长度数字序列的数值。

利用BigInteger表示一个超大的数值(超出long类型能够表示的范围):

BigInteger one = BigInteger.valueOf(1);BigInteger two = BigInteger.valueOf(2);BigInteger add = one.add(two);  //  1 + 2BigInteger subtract = one.subtract(two); //  1 - 2BigInteger multiply = one.multiply(two);  // 1 * 2BigInteger divide = one.divide(two);  // 1 / 2BigInteger mod = one.mod(two); // 1 % 2// BigDecimal除了没有取模操作外,其余都有。

?

不同于C++,java不能重载+,-,*,/等运算符。虽然Java语言设计者确实对字符串的连接重载了+运算符,但没有重载其它运算符。 也没有给Java程序员重载其它运算符的权利。

?

读书人网 >编程

热点推荐