Bitsel ve Taşma Operatörleri
Bitleri işleyin ve &+ gibi taşma operatörlerini güvenle kullanın.
Bitsel ve Taşma Operatörleri, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. 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, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Bit Düzeyinde Operatörler
Bit düzeyindeki operatörler tamsayıların tek tek ikili basamakları üzerinde çalışır. Swift; AND &, OR |, XOR ^, NOT ~ ve kaydırma operatörleri olarak << / >> sunar.
let a: UInt8 = 0b1100
let b: UInt8 = 0b1010
print(a & b)
print(a | b)Bit Düzeyinde AND
&, her sonuç bitini yalnızca her iki giriş biti de 1 olduğunda 1 yapar. Bitleri mask ile ayırmak için sıkça kullanılır.
let value: UInt8 = 0b10110101
let mask: UInt8 = 0b00001111
let low = value & mask
print(low)Bit Düzeyinde OR
|, giriş bitlerinden herhangi biri 1 olduğunda her sonuç bitini 1 yapar. Bayrakları birleştirmek için kullanışlıdır.
let flagsA: UInt8 = 0b0001
let flagsB: UInt8 = 0b0100
let combined = flagsA | flagsB
print(combined)Bit Düzeyinde XOR
^, iki giriş biti farklı olduğunda biti 1 yapar. Aynı değerle iki kez XOR uygulamak original değeri geri yükler.
let original: UInt8 = 0b1010
let key: UInt8 = 0b0110
let encoded = original ^ key
let decoded = encoded ^ key
print(encoded, decoded)Bit Düzeyinde NOT
Tekli ~ operatörü her biti tersine çevirir. Bir UInt8 için 8 bitin tamamı değişir.
let bits: UInt8 = 0b00001111
let inverted = ~bits
print(inverted)Sola Kaydırma
<<, bitleri sola taşır ve boşlukları sıfırlarla doldurur. 1 bitlik her sola kaydırma, unsigned bir değeri 2 ile çarpar.
let n: UInt8 = 0b00000011
print(n << 1)
print(n << 2)Sağa Kaydırma
>>, bitleri sağa taşır. İşaretsiz tamsayılarda boşlukları sıfırlarla doldurarak etkin olarak ikinin kuvvetlerine böler.
let n: UInt8 = 0b00010000
print(n >> 1)
print(n >> 4)Normal Operatörlerle Taşma
Standart aritmetik, programınızı güvenli tutmak için taşma durumunda hata verir: bir türün maksimumunu aşmak, sessizce başa sarmak yerine normalde programın çökmesine neden olur.
let maxByte = UInt8.max
print("Max UInt8:", maxByte)
let safe = Int(maxByte) + 1
print("Promoted sum:", safe)Taşmalı Toplama &+
Kasıtlı olarak başa sarma istiyorsanız taşma operatörlerini kullanın. &+, programın çökmesi yerine maksimum değeri aşıp minimum değerden devam eder.
let maxByte: UInt8 = 255
let wrapped = maxByte &+ 1
print(wrapped)Taşmalı Çıkarma ve Çarpma
&- ve &* de aynı şekilde başa sarar. Bir UInt8 için 0 &- 1 işlemi 255'e sarar.
let zero: UInt8 = 0
print(zero &- 1)
let big: UInt8 = 200
print(big &* 2)Taşma Operatörleri Ne Zaman Kullanılır
&+ &- &* operatörlerini yalnızca karma veya döngüsel counter gibi başa sarmanın amaçlanan davranış olduğu durumlarda kullanın. Aksi halde güvenlik için hata veren operatörleri tercih edin.
var counter: UInt8 = 254
for _ in 0..<4 {
counter = counter &+ 1
print(counter)
}Hızlı Kontrol
Taşmanın başa sarma davranışı hakkında düşünün.
Özet: Bit Düzeyinde ve Taşma Operatörleri
& | ^ ~ bit operatörlerini ve << >> kaydırmalarını, normal aritmetiğin güvenlik amacıyla taşmada hata verdiğini ve &+ &- &* operatörlerinin tür sınırlarında kasıtlı olarak başa sardığını öğrendiniz.
let mask: UInt8 = 0b1111
let v: UInt8 = 0b10101010
print("Masked:", v & mask)
print("Wrap:", UInt8(0) &- 1)Sıkça Sorulan Sorular
“Bitsel ve Taşma Operatörleri” dersi ücretsiz mi?
Evet — “Bitsel ve Taşma Operatörleri” 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 Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Bitsel ve Taşma Operatörleri” dersinde ne öğreneceğim?
Bitleri işleyin ve &+ gibi taşma operatörlerini güvenle kullanın. Swift 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.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift 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 4. dersidir.
“Bitsel ve Taşma Operatörleri” 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 Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift 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
- Aritmetik ve Bileşik Atama İşleçleri
- Karşılaştırma ve Kimlik Operatörleri
- Mantıksal Operatörler ve Kısa Devre Değerlendirmesi
- Bitsel ve Taşma Operatörleri