知识点

1. 整数的二进制表示法

 

2. 十进制和二进制的转换

http://baike.baidu.com/view/1426817.htm

 

3. 负整数的表示(原码,补码,反码)

http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

 

4. 位操作 Bit Operation

左移 Left Shift      <<

右移 Right Shift    >>

与 And   &

或  Or   |

非  Neg   ^

 

    public int countOnes(int num) {
        int numOfOne = 0;
        int mask = 0;
        for(int i = 0; i < 32; i++){
            mask = (1 << i);
            if((mask & num) != 0){
                numOfOne++;
            }
            
        }
        return numOfOne;
    }