gpt4 book ai didi

java - java中128位的位运算

转载 作者:行者123 更新时间:2023-11-29 06:30:09 24 4
gpt4 key购买 nike

我有两个 IPv6 地址的二进制表示

例如:第一个字符串是

的二进制表示
'2001:4E8:0:4000:0:0:0:0'
'00100000000000010000010011101000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000'

第二个字符串二进制表示

 '0:0:0:0:ffff:ffff:ffff:ffff'
'00000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111'

现在我想对 IPv6 地址及其掩码执行双向“与”运算。在 Java 中实现此目的的好方法是什么?

P:S: Integer.parseInt 只支持32位运算

最佳答案

您可以使用 BigIntegerand() :

BigInteger first = new BigInteger("00100000000000010000010011101000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000",2);
BigInteger second = new BigInteger("00000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111",2);
BigInteger and = first.and(second);

关于java - java中128位的位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37115505/

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