gpt4 book ai didi

java ->> 运算符相对于/运算符的优点

转载 作者:行者123 更新时间:2023-12-01 22:23:10 26 4
gpt4 key购买 nike

使用>>运算符相对于/运算符有什么优点?它在我维护的代码中被广泛使用。例如,int width = previousWidth >> 2;

最佳答案

当您想要将值移动一定位数时,理解起来要容易得多。例如:

byte[] bits = new byte[4];
bits[0] = (byte) (value >> 24);
bits[1] = (byte) (value >> 16);
bits[2] = (byte) (value >> 8);
bits[3] = (byte) (value >> 0);

这显然是按不同位数移动的。您真的想用除法来表达吗?

现在,当然,当您真正想要的是除法时,为了可读性,您应该使用除法运算符。有些人可能会为了性能而使用位移,但对于大多数代码来说,一如既往,可读性比微优化更重要。因此,在您的情况下,如果实际想要的是将width设置为previousWidth除以4,则代码​​应该*绝对反射(reflect)这一点:

int width = previousWidth / 4;

只有在证明性能差异显着之后,我才会使用位移位。

关于java ->> 运算符相对于/运算符的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849124/

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