gpt4 book ai didi

Java Long - 位的操作

转载 作者:行者123 更新时间:2023-12-02 00:23:03 25 4
gpt4 key购买 nike

我有一个很长的数字,我想通过以下方式操作它:

Long l = "11000000011" (long l 's bit representation)

Long ll1 = "110000000" (remove last two bits from l and convert to Long)

Long ll2 = "11" (keep last two bit's of l and discard other bits and convert to Long)

任何人都可以帮助我,如何在 Java 中快速完成此操作?

最佳答案

要将位字符串转换为长整型,可以使用 Long.parseLong :

long l = Long.parseLong("11000000011", 2);

然后您可以使用位移运算符 >> , << ,和>>>丢弃较低位。例如:

long ll1 = l >>> 2;

要删除除前两位之外的所有内容,您可以使用 Long.bitCount 对位进行计数,然后移走剩余的位。

long ll2 = l >>> (Long.bitCount(ll1) - 2);

编辑:因为您提出的问题与 long 相关。 s 到长整型的位,您应该使用 Long.toBinaryString 方法:

String bits = Long.toBinaryString(/* value */);

从那里,要删除最后两位,您可以使用简单的字符串操作。尝试使用String.substring为此。

希望这有帮助!

关于Java Long - 位的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com