Bit Ayarlama, Temizleme ve Değiştirme
Maskelerle tek bir biti düzenleyin.
Bit Ayarlama, Temizleme ve Değiştirme, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
Her Seferinde Tek Bir Biti Düzenleyin
Bazen diğer bitlere dokunmadan yalnızca tek bir biti değiştirmeniz gerekir. Bunun yolu, tam olarak istediğiniz biti hedefleyen bir maske oluşturmaktır. 🎯
Tek Bitli Bir Maske Oluşturun
1'i ilgilendiğiniz konuma kaydırdığınızda, tek biti açık bir maske elde edersiniz. 0. konum en sağdaki bittir.
mask = 1 << 3 # 0b1000, targets bit 3OR ile Bir Biti Açın
Bir biti açmak için sayıya maske ile OR uygulayın. OR, ilgili konumu 1 yapar ve diğer tüm bitleri olduğu gibi bırakır. Buna bir biti ayarlama denir.
n = 0b0001
n |= (1 << 2) # 0b0101Ayar İşlemi İdempotenttir
Bit zaten 1 ise yeniden 1 yapmak hiçbir şeyi değiştirmez. Bir maske ile OR işlemini tekrarlamak güvenlidir; bu da işlemi döngüler içinde güvenilir kılar. 👍
Terslenmiş Maske
Bir biti sıfırlamak için o konumu OFF, diğer tüm konumları ON olan bir maskeye ihtiyacınız vardır. NOT işleci (~), basit maskenizin her bitini tersine çevirir.
clear = ~(1 << 2) # ...11111011Bir Biti AND ile Sıfırlayın
Geri kalan bitleri korurken ilgili biti 0 yapmak için sayıyla terslenmiş maskeyi AND işlemine sokun. Tek bir biti sıfırlamanın yolu budur.
n = 0b0111
n &= ~(1 << 1) # 0b0101Bir Biti XOR ile Değiştirin
Tek bitlik bir maskeyle XOR işlemi yapmak o konumu tersine çevirir: 0, 1 olur; 1 de 0 olur. Bu değiştirme işlemi, üç yöntem arasındaki en temiz tek satırlık çözümdür.
n = 0b0101
n ^= (1 << 0) # 0b0100Bir Bitin Açık Olup Olmadığını Kontrol Edin
Sayıyı tek bitlik bir maskeyle AND işlemine sokun. Sonuç sıfır değilse ilgili bit ayarlanmıştır; sonuç sıfırsa bit kapalıdır.
n = 0b0100
on = (n & (1 << 2)) != 0 # TrueBiti 0 veya 1 Olarak Okuyun
Hedef bitinizi en sağa getirmek için sayıyı sağa kaydırın, ardından 1 ile AND işlemine sokun. Tam olarak bit değerini, yani 0 veya 1'i elde edersiniz.
n = 0b1010
bit = (n >> 1) & 1 # 1Bit Düzenlemeleri Neden Önemlidir
Bitleri 1 yapma, sıfırlama ve değiştirme işlemleri, birçok açık veya kapalı durumu tek bir tamsayı içinde saklamanızı sağlar. Yarışmalardaki kompakt bit maskesi durumunun temeli budur.
Bir Eksik Bir Fazlaya Dikkat Edin
Bit konumları 0'dan başladığı için k konumundaki bit, k kadar sola kaydırılmış 1 değerinde bulunur. Dizini karıştırmak, burada yeni başlayanların yaptığı en yaygın hatadır.
Hızlı Kontrol
Bir biti sıfırlamak için doğru işlemi seçin.
Özet: Ayarla, Sıfırla, Değiştir
OR işlemi bitleri 1 yapar, NOT ile AND işlemi bitleri sıfırlar, XOR ise tek bir biti değiştirir. Bu üç maskeye hâkim olarak istediğiniz biti kontrol edebilirsiniz. 🎉
Sıkça Sorulan Sorular
“Bit Ayarlama, Temizleme ve Değiştirme” dersi ücretsiz mi?
Evet — “Bit Ayarlama, Temizleme ve Değiştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.
“Bit Ayarlama, Temizleme ve Değiştirme” dersinde ne öğreneceğim?
Maskelerle tek bir biti düzenleyin. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Bit Ayarlama, Temizleme ve Değiştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- AND, OR, XOR ve Kaydırmalar
- Bit Ayarlama, Temizleme ve Değiştirme
- Bitleri ve En Düşük Ayarlı Biti Sayma
- Küçük Kümeler Olarak Bitmask'ler