番号1、0の数の数を計算します

 

1.進数1のintを求めているの数

(1)1、{右正と負の数は、(1S補数の数負の計算である)されています

INT A; 
CIN >> A;
 INT COUNT = 0 ; 
int型 N- = はsizeofINT)* 8。 ; // ビット のためのINT I = 0、I <N - 、I ++ ){ IF(&A 。1!= 0 ){ //最下位ビットが1であるか否かを決定 ++ ; COUNT } A >> = 1 ; //右のいずれ }
COUT
<< ENDL << COUNT。

 

(2)2で割った権利の同等

  利用可能な最低ビットモジュロ2を分析するステップと、利用可能な権利を2 [この方法は正の数、符号なしの数にのみ適しています]

int型; 
cinを >> ;
int型のカウント= 0 ; 

一方(> 0 ){ 
   カウント + =(%2 )。
   A / = 2 
} 

coutの <<回数<<てendl;

 

[数よりも少なくすることができ、正、負、と(3)1

int型; 
cinを >> ;
int型のカウント= 0 ;
しばらく(!= 0 ){
     ++ 数えます。&=(A- 1 )。
} 
coutの <<回数<<てendl;

 

2.必要な数0

(1)1、右

  1と0の場合、カウントは1だけインクリメントされ、そして1は1、それがいると判定されます

 

(2)ビットマイナス1の総数

 

おすすめ

転載: www.cnblogs.com/taoXiang/p/12649829.html