번호 1, 0의 숫자의 개수를 계산

 

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의 총 개수

 

추천

출처www.cnblogs.com/taoXiang/p/12649829.html