Kayıtlar

en sağda set edilmiş biti resetleme etiketine sahip yayınlar gösteriliyor

C++ Dersleri | Bit Manipulasyon - En Sağdaki Set Edilmiş Biti Resetleme

 Başlığın açıklayıcı olduğundan çok da emin olamadım :) Ancak durum şudur: 001 1 0000 şeklinde güzide bir bit dizemiz olsun: Amacımız bu bit dizesinde en sağda bulunan 1 'i tespit edip 0 yapmak : yani yukarıdaki arkadaşı şuna çevirmek istiyoruz: 001 0 0000 Kodumuz şu şekilde : template   < typename   T > T   resetTheRightMostSetBit ( T   n ) { return   n   &   ( n   -   1 ); } int   main () { int   a   =   48 ;       // 00110000 a   =   resetTheRightMostSetBit ( a );   // 00100000 -> 32 cout   <<   " a= "   <<   a   <<   endl ;    } Template konusunu henüz yazmadık, ileride yazdığım zaman buralara linkini bırakıyor olurum-unutursam bir yorumla hatırlatır mısınız bana? :) - bilmeyen arkadaşlarımız için: kısaca anlatalım yine de T bir typename dolayısıyla hemen altına yazdığımız fonksiyonun içine herhangi bir tipte veri gönderip aynı tipte geri dönüş yapabilmesini sağlıyoruz, yani bu fonksiyonu int için ayrı char için ayrı