C++ Dersleri | Bit Manipülasyonları

    C++ bit işlemlerine devam ediyoruz, bit manipülasyonları çoğu zaman insanda yahu bunu nasıl yapıcaz diye kendisini sorgulatan bir his uyandırsa da öğrenildiğinde bu kadar basit miymiş yahu dedirtebilecek kadar da güçlü bir konudur :) Zevklidir demeden de geçmeyelim.

    Bir bit dizemiz olsa ve set edilmiş bitlerden en sağdakini tespit edip reset etmeniz istense, programcının kafası önce en sağdan başlayarak tek tek bitleri 0 mı 1 mi diye kontrol ettirip 0 ise ilerleyip 1 ise reset et ve orayı terk et diye bir kod yazmaya gidiyor, yok canım bu kadar zor olmamalı. Bu konuda bir çözüm önerisi olan cesur arkadaşım ileriki konularda yazdıklarımızı okumadan burada yorum olarak bizlere görüşünü bildirmeni şiddetle rica ediyoruz, farklı kafalardan farklı fikirler çıkar severim discussion ları.

Ya da tüm bitleri set etmemiz istense ? bu biraz daha görece basit geliyor, boyutu biliyorsak sorun yok mesela 8 bitlik bir dize için konuşuyorsak a = FF; der ve çıkarım işin içinden, ya bilmiyorsam? 😱

Bir bit dizesinin belirli bir bitini toggle etmek; toggle etmek ne demek? acaba; toggle etmek demek 1 ise 0, 0 ise 1 yapmak demek, ya da yine dize içerisindeki belirli bir biti kontrol etmek, set durumunda mı reset durumunda mı? ( set : 1 , reset : 0 olduğu anlamına gelir). Belki de bit dizesindeki set edilmiş bitlerin sayısını bilmemiz gerekecek, ya da reset durumdaki bitlerin sayısını. Ne derin konular. Yine belirli bir biti set etmek ya da clear etmek (sıfır yapmak). Yahut bir tam sayının 2 nin kuvveti olup olmadığını kontrol etmek? Bunlar masking işlemlerinde hayat kurtarıcı oluyor, bildiğimiz bitmask yahu, bilmiyor muyuz.. takipte kalın hepsini yazacak bu kardeşiniz size.

Son olarak da bitlerin yer değiştirmesine bakabiliriz: yani 3 bit in sayısal değerini 5. bitin sayısal değeriyle değiştirmek isteyebiliriz: 0100 1101 -> 0110 0101. 

Hepsini halledeceğiz merak etmeyin takipte kalın, kafanıza takılan herşeyi yorumlarda sormaktan lütfen çekinmeyin, blog yazmanın en güzel yolu, yazıları yeniden düzenleyebilmek sanırım. Youtube videoları için geçerli olmayan bu durum burada bizleri avantajlı hale getiriyor, yorumdan gelen bir soru üzerine ekleme çıkartma yapılabiliyor, haydi içeriklere siz de destekte bulunun :)


Şimdilik herkese kolay gelsin.

Önceki konu : Bitwise Operatörleri | Right Shift Operatör

Sonraki konu : Bit Manipulasyon - En Sağdaki Set Edilmiş Biti Resetleme

Video :



Hiç yorum yok:

Yorum Gönder

Türksat Saat Kanalı ve IRIG-B Time Code

Türksat Saat Kanalından Saat Bilgisi Nasıl Alınır? Uyduda kanalları dolaşırken, şu Türksat Saat kanalı hep dikkatimi çekmiştir. Özellikle  S...