struct Solution{

}

impl Solution {
    fn new() -> Self {
        Solution{}
    }

    /**
    * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
    *
    * 
        * @param n int整型 
        * @return int整型
    */
    pub fn NumberOf1(&self, n: i32) -> i32 {
        let mut cnt: i32 = 0;
        let mut n = n;
        if n < 0 {
            cnt+=1;
            n = (n & std::i32::MAX);
        }
        while n != 0 {
            cnt += (n & 1);
            n >>= 1;
        }
        return cnt;
    }
}