gpt4 book ai didi

java - 找出给定的 mac 地址是否在范围内

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

我想知道给定的 mac 地址是否在指定的 mac 地址范围内。

例如,我定义了开始和结束地址。如果您提供此范围内的任何 MAC 地址,则 API 必须返回 true,否则返回 false。

例如:70-71-BC-90-0D-01 在范围内,70-71-BC-90-0D-FF 不在范围内。

Begin address:  70-71-BC-90-00-00
End address : 70-71-BC-90-0D-F7

谢谢

最佳答案

为了完全通用范围(而不仅仅是回答这个特定范围),您可以创建 BigInteger 实例,并比较它们。

要创建 BigInteger,我们将把 MAC 地址视为数字的十六进制表示形式。

以下实现不关心:

  • 十六进制数字的“大小写”(适用于小写、大写、混合)
  • MAC地址中是否有破折号'-'分隔符

Java 代码:

BigInteger min = new BigInteger(minAddr.replace("-",""), 16);
BigInteger max = new BigInteger(maxAddr.replace("-",""), 16);

BigInteger test = new BigInteger(testAddr.replace("-",""), 16);

boolean isInRange = min.compareTo(test) <= 0 && max.compareTo(test) >= 0;

如果您需要检查许多 MAC 地址,显然可以缓存 minmax BigInteger

关于java - 找出给定的 mac 地址是否在范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645180/

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