Java中去除整数二进制的最后一个1(位操作)

n&(n-1)为去除整数二进制的最后一个1

参考代码

public class Test {
    
    
    public static void main(String[] args) {
    
    
        // 5的二进制表示为:101
        // 去掉二进制最后一个1,则为:100
        // 转换成10进制为:4
        System.out.println(5&(5-1)); // 4
        // 1010
        System.out.println(10&(10-1)); // 8
		// 1001
		System.out.println(9&(9-1)); // 8
    }
}

总结

位运算还是尽量使用C/C++语言,Java中并没有无符号整数类型

猜你喜欢

转载自blog.csdn.net/Awt_FuDongLai/article/details/112347109