Kayıtlar

2 nin kuvvetileri kontrolü etiketine sahip yayınlar gösteriliyor

C++ Dersleri | Bit işlemleri - Bir Tamsayının 2'nin Kuvveti Olup Olmadığının Kontrol Edilmesi

 C++ dersleri bit işlemlerinde bir tam sayının 2 'nin kuvvetlerinden olup olmadığını kontrol edebilmek için bitwise operatörlerinden faydalanıyoruz : int   main () { int   number   =   128 ; bool   isPowerOfTwo   =   number   &&   !( number   &   ( number   -   1 )); cout   <<   " result= "   <<   isPowerOfTwo   <<   endl ; }  result=1  dikkat edilirse en sağdaki set biti resetleme konusuna, konunun genelinde ihtiyaç duyuluyor. Adım adım inceleyelim neler oluyor :  128 : 1000 0000b en sağdaki set biti clear yaptığımız zaman değerimiz 0 oldu, yani false, başında ! not operatörü var bu da && operatörünün sağ tarafını true yaptı, sol tarafta da number 0 olmaması sebebiyle true döndürüyor, true && true sonucunda true dönmüş oluyor. 127 olsaydı değerimiz : 127 : 0111 1111b olacaktı, en sağdaki set biti clear yapınca : 0111 1110b ye dönüyor değerimiz : bu da true olarak değerlendirilir, başındaki not ! ile false