gpt4 book ai didi

java - 如何打印负整数的所有设置位

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:11 25 4
gpt4 key购买 nike

 while (n != 0) {
System.out.print(n & 1);
n = n >> 1;
}

如果 n = -1,Java 中的上述代码将导致无限循环。

如何让它打印负整数?

最佳答案

>>> 运算符是一个“符号扩展”右移运算符,这意味着如果设置了原始值的最高位,则“移入”的位为 1 . 这基本上使结果的符号保持不变。

您需要 >>> 运算符(无符号右移 运算符),它总是“移入”0 位,即使最高位是 1。

参见 JLS section 15.19Java tutorial了解更多详情。

关于java - 如何打印负整数的所有设置位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28419344/

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