Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的BigDecimal位操作_Java_Bigdecimal - Fatal编程技术网

java中的BigDecimal位操作

java中的BigDecimal位操作,java,bigdecimal,Java,Bigdecimal,BigDecimal支持位操作吗?如果是的话,有人能指出这方面的好教程吗 如果否,将BigDecimal变量除以2的幂的最佳方法是什么?顾名思义,BigDecimal存储在decimal表示中。所以除以2的幂的最快方法是。。。除以二的幂。您可以向左移位和向右移位,但是(即使这样,它的行为也不同于位移位,因为它可以生成非整数值)。我想您是指这里BigDecimal对浮点值使用十进制表示,因此不适合位操作 BigInteger确实有左移位和右移位操作,分别使用.shiftLeft()和.shiftR

BigDecimal支持位操作吗?如果是的话,有人能指出这方面的好教程吗


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

顾名思义,
BigDecimal
存储在decimal表示中。所以除以2的幂的最快方法是。。。除以二的幂。您可以向左移位和向右移位,但是(即使这样,它的行为也不同于位移位,因为它可以生成非整数值)。

我想您是指这里
BigDecimal
对浮点值使用十进制表示,因此不适合位操作

BigInteger
确实有左移位和右移位操作,分别使用
.shiftLeft()
.shiftRight()
进行二次幂的乘法/除法运算,因此您可以使用它


它还有一些操作,如
.bitCount()
.bitLength()
{clear,set}.Bit()
和()
或()。不,按位不,因为它没有意义。

谢谢,但我的意思是大十进制!真蠢@fge-很好的解释!