Kayıtlar

set bitleri sayma etiketine sahip yayınlar gösteriliyor

C++ Dersleri | Bit İşlemleri - Set Bitleri sayma

 C++ bit işlemlerinde bir bit dizesi içerisindeki SET (1) olmuş bitlerin sayısını elde etmek için bir kaç yol izleyebiliriz, basitçe programlama kafasıyla for kullanarak yapılabilir : int   main () { unsigned   int   a   =   1234 ;       // 0100 1101 0010 int   bitCount   =   0 ; for   ( bitCount   =   0 ;   a ;   a   >>=   1 ) bitCount   +=   a   &   1LL ; cout   <<   " result= "   <<   bitCount   <<   endl ; }  result=5  ne yapmış olduk açıklamaya çalışamadan önce for ne yapıyor onu anlatalım : for 'un ilk ifadesi bir kez çalıştırılır, ikinci ifadesi kontrol edilecek durumu belirler; burada yalnızca a var, bu ne anlama geliyor, bu ifade boolean bir ifade olmalıdır, 0 olmamışsa durumun sağlandığını kabul eder yani 3 5 7 vs diğer tüm sayılar true kabul edilir, yani for 'un bitme şartı a nın sıfır olması durumudur, en son ifadesi de her dönüşte yürütülecek kod ifadesidir, for'u yazmadan for'u da anlatmış olduk kıs