java中的BigDecimal位操作
BigDecimal支持位操作吗?如果是的话,有人能指出这方面的好教程吗java中的BigDecimal位操作,java,bigdecimal,Java,Bigdecimal,BigDecimal支持位操作吗?如果是的话,有人能指出这方面的好教程吗 如果否,将BigDecimal变量除以2的幂的最佳方法是什么?顾名思义,BigDecimal存储在decimal表示中。所以除以2的幂的最快方法是。。。除以二的幂。您可以向左移位和向右移位,但是(即使这样,它的行为也不同于位移位,因为它可以生成非整数值)。我想您是指这里BigDecimal对浮点值使用十进制表示,因此不适合位操作 BigInteger确实有左移位和右移位操作,分别使用.shiftLeft()和.shiftR
如果否,将BigDecimal变量除以2的幂的最佳方法是什么?顾名思义,
BigDecimal
存储在decimal表示中。所以除以2的幂的最快方法是。。。除以二的幂。您可以向左移位和向右移位,但是(即使这样,它的行为也不同于位移位,因为它可以生成非整数值)。我想您是指这里BigDecimal
对浮点值使用十进制表示,因此不适合位操作
BigInteger
确实有左移位和右移位操作,分别使用.shiftLeft()
和.shiftRight()
进行二次幂的乘法/除法运算,因此您可以使用它
它还有一些操作,如
.bitCount()
,.bitLength()
,{clear,set}.Bit()
,和()
,或()。不,按位不,因为它没有意义。谢谢,但我的意思是大十进制!真蠢@fge-很好的解释!