首页 文章

java中的BigDecimal位操作

提问于
浏览
4

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

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

2 回答

  • 7

    顾名思义, BigDecimal 存储在 decimal 表示中 . 所以除以2的幂的最快方法是......除以2的幂 . 您可以向左移位和向右移位,但是only in base-10(甚至它的行为与位移不同,因为它可以产生非整数值) .

  • 5

    我想你的意思是BigInteger . BigDecimal 对浮点值使用十进制表示,因此它不适合位操作 .

    BigInteger 的左右移位操作分别为 .shiftLeft().shiftRight() ,乘法/除法分别为2的幂,所以你可以使用它 .

    它还具有 .bitCount().bitLength().{clear,set}Bit().and().or().andNot() 等操作 . 但是,没有任何意义,因为它没有意义 .

相关问题