负的二进制数在内存以该数的补码存储、计算
/**
* 二进制中1的个数
* @param aLong :二进制数
* @return 1的个数
*/
public static long toLong(String bi) {
long r = 0;
for (int i = 0; i < 64; i++) {
char c = bi.charAt(i);
long l = (long) Character.digit(c, 2);
l = l << (63 - i);
r |= l;
}
return r;
}