java中的BigDecimal位操作

时间:2013-07-17 11:04:45

标签: java bigdecimal

BigDecimal是否支持位操作?如果是的话,有人可以指出一个很好的教程吗?

如果不是,将BigDecimal变量除以2的幂的最佳方法是什么?

2 个答案:

答案 0 :(得分:7)

我认为你的意思是BigIntegerBigDecimal对浮点值使用十进制表示,因此不适合位操作。

BigInteger确实左右移位操作分别为.shiftLeft().shiftRight()乘以2的幂乘法/除法,因此您可以使用它。

它还有.bitCount().bitLength().{clear,set}Bit().and().or().andNot()和其他一些操作。但是,没有任何意义,因为它没有意义。

答案 1 :(得分:5)

顾名思义,BigDecimal存储在十进制表示中。因此,除以2的幂的最快方法是......除以2的幂。你可以左移和右移,但是only in base-10(即使那时它的行为与位移不同,因为它可以产生非整数值)。

相关问题