我想将int
的3个最低位数归零。例如。假设我的int
是1023
,最简单,最有效的方法clearLower
是这样的:
clearLower(1023) == 1000
如果1000是2的幂,则很容易使用按位"和"运营商,但事实并非如此。我知道两种可能性:
public int clearLower(int a) {
return (a/1000)*1000;
}
public int clearLower2(int a) {
return a - a%1000;
}
是否有更简单和/或更有效的方式?