获取二进制(补码)中1位的数量
问题一:获取二进制中1位的数量
解题思路:
方法一:获取二进制正数中1位的数量:右移法
方法二:末尾1取反法,正数
方法三:查表法
方法四:(两两合并的思想)JDK自带补码字节统计工具,适用正数和负数
注意事项:见代码
参考博客:统计一个整数的二进制中1的个数的三种解法
问题二:获取二进制补码中1位的数量
解题思路:
方法一:两两合并的思想
方法二:末尾1取反法
方法三:左移法,尽量不要使用右移,因为有符号位
注意事项:见代码
参考博客:Integer.bitCount()理解
代码实现
见我的github:Bitcount