package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param n int整型
 * @return int整型
 */
func NumberOf1(n int) int {
	// write code here
	var ret int
	if n < 0 {
		n &= 0xffffffff
	}
	//n&(n−1),会将n的二进制中最低位由1变成0
	for n != 0 {
		n &= n - 1
		ret++
	}
	return ret
}