gpt4 book ai didi

java - 计算 Java 中的前导零 (clz) 或前导零 (nlz) 的数量

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:21 25 4
gpt4 key购买 nike

我需要 int 32 二进制 00100000int 127 二进制 0111 1111。变体 Integer.toBinaryString 仅返回 1 的结果。如果我以这种方式构建 for 循环:

for (int i= 32; i <= 127; i + +) {
System.out.println (i);
System.out.println (Integer.toBinaryString (i));
}

从二进制数我需要前导零的数量(计数前导零(clz)或前导零的数量(nlz))我的意思是 0 的确切数量,例如:在 00100000 -> 2 和 0111 1111->1

最佳答案

怎么样

int lz = Integer.numberOfLeadingZeros(i & 0xFF) - 24;
int tz = Integer.numberOfLeadingZeros(i | 0x100); // max is 8.

关于java - 计算 Java 中的前导零 (clz) 或前导零 (nlz) 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350827/

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