1. 이진수 1 INT를 추구의 수
1 (1), {오른쪽 양수와 음수 인 것은 (음의 계산은 1S 보체의 수이다)
INT a 및 CIN >> a 및 INT COUNT = 0 ;
INT N- = sizeof의 ( INT ) * 8. ; // 비트 용 ( INT I = 0 ; I <N-; I ++ ) { IF (& A . (1) ! = 0 ) { // 최하위 비트가 1인지를 판단 ++ ; COUNT } >> = 1 ; // 올바른 }
COUT << ENDL << COUNT 단계;
(2) (2)에 의해 분할 된 우측의 상응하는
가능한 최저 비트 모듈로 (2)를 분석하는 단계; 사용할 권리를 2 [이 방법은 양수, 부호 번호에만 적합]
int로 을; CIN >> a 및 INT의 카운트 = 0 ; 동안 (a> 0 ) { 카운트 + = (a % 2 ); / = 2 ; } COUT은 << << ENDL 카운트;
(3) 1 개수보다 작을 수있다 양극, 음극과]
int로 을; CIN >> a 및 INT의 카운트 = 0 ; 반면 (A! = 0 ) { ++ 카운트; & = (A- 1 ); } COUT은 << << ENDL 카운트;
2. 필요한 숫자 0
1 (1), 오른쪽
1과 0이면 카운트는 1 씩 증가하고, 1 1, 그것은 것으로 판정한다
(2) 비트 마이너스 1의 총 개수