Swift Academy · Les

Bitwise- en overflowoperatoren

Manipuleer bits en gebruik overflowoperatoren zoals &+ veilig.

Les 4 van 413 stappen

Bitwise- en overflowoperatoren is een gratis Swift Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Swift Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Swift Academy bevat in totaal 4 lessen.

Bitsgewijze operatoren

Bitsgewijze operatoren werken op de afzonderlijke binaire cijfers van gehele getallen. Swift biedt EN &, OF |, XOR ^, NIET ~ en verschuivingen << / >>.

let a: UInt8 = 0b1100
let b: UInt8 = 0b1010
print(a & b)
print(a | b)

Bitsgewijze EN

& zet elk resultaatbit alleen op 1 wanneer beide invoerbits 1 zijn. Deze operator wordt vaak gebruikt om bits te maskeren.

let value: UInt8 = 0b10110101
let mask: UInt8 = 0b00001111
let low = value & mask
print(low)

Bitsgewijze OF

| zet elk resultaatbit op 1 wanneer een van beide invoerbits 1 is. Dit is nuttig om vlaggen te combineren.

let flagsA: UInt8 = 0b0001
let flagsB: UInt8 = 0b0100
let combined = flagsA | flagsB
print(combined)

Bitsgewijze XOR

^ zet een bit alleen op 1 wanneer de twee invoerbits verschillen. XOR met dezelfde waarde, twee keer uitgevoerd, herstelt het origineel.

let original: UInt8 = 0b1010
let key: UInt8 = 0b0110
let encoded = original ^ key
let decoded = encoded ^ key
print(encoded, decoded)

Bitsgewijze ontkenning

De unaire ~ keert elk bit om. Bij een UInt8 worden alle 8 bits omgekeerd.

let bits: UInt8 = 0b00001111
let inverted = ~bits
print(inverted)

Bits naar links verschuiven

<< verplaatst bits naar links en vult aan met nullen. Elke verschuiving van een waarde zonder teken met 1 positie naar links vermenigvuldigt die waarde met 2.

let n: UInt8 = 0b00000011
print(n << 1)
print(n << 2)

Bits naar rechts verschuiven

>> verplaatst bits naar rechts. Bij gehele getallen zonder teken worden nullen toegevoegd, wat in feite delen door machten van twee betekent.

let n: UInt8 = 0b00010000
print(n >> 1)
print(n >> 4)

Overloop met normale operatoren

Gewone rekenkundige bewerkingen breken af bij een overloop om je programma veilig te houden: wanneer je het maximum van een type overschrijdt, crasht het programma normaal gesproken in plaats van stilzwijgend rond te lopen.

let maxByte = UInt8.max
print("Max UInt8:", maxByte)
let safe = Int(maxByte) + 1
print("Promoted sum:", safe)

Overloopoptelling &+

Gebruik de overloopoperatoren wanneer je bewust wilt dat waarden rondlopen. &+ loopt na het maximum door vanaf het minimum in plaats van te crashen.

let maxByte: UInt8 = 255
let wrapped = maxByte &+ 1
print(wrapped)

Overtrekaftrekking en -vermenigvuldiging

&- en &* lopen op dezelfde manier rond. 0 &- 1 wordt voor een UInt8 255.

let zero: UInt8 = 0
print(zero &- 1)
let big: UInt8 = 200
print(big &* 2)

Wanneer je overloopoperatoren gebruikt

Gebruik &+ &- &* alleen wanneer rondlopen het gewenste gedrag is, bijvoorbeeld voor hashing of cyclische tellers. Gebruik anders voor de veiligheid liever operatoren die bij een overloop afbreken.

var counter: UInt8 = 254
for _ in 0..<4 {
    counter = counter &+ 1
    print(counter)
}

Korte controle

Redeneer over rondlopen bij een overloop.

Samenvatting: bitsgewijze en overloopoperatoren

Je hebt de bitsgewijze operatoren & | ^ ~ en verschuivingen << >> geleerd, dat gewone rekenkundige bewerkingen bij een overloop voor de veiligheid afbreken, en dat &+ &- &* bewust rondlopen binnen de grenzen van het type.

let mask: UInt8 = 0b1111
let v: UInt8 = 0b10101010
print("Masked:", v & mask)
print("Wrap:", UInt8(0) &- 1)
Gratis beginnen

Leer Swift met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
122
Lessen
409

Veelgestelde vragen

Is de les “Bitwise- en overflowoperatoren” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Swift Academy, waaronder “Bitwise- en overflowoperatoren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Swift Academy bevat in totaal 4 lessen.

Wat leer ik in “Bitwise- en overflowoperatoren”?

Manipuleer bits en gebruik overflowoperatoren zoals &+ veilig. Je oefent met Swift Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Swift Academy te beginnen?

Ervaring vooraf is niet nodig. Swift Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Bitwise- en overflowoperatoren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Swift Academy?

Ja. Elke les over Swift Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Rekenkundige en samengestelde toewijzingsoperatoren
  2. Vergelijkings- en identiteitsoperatoren
  3. Logische operatoren en kortsluitenevaluatie
  4. Bitwise- en overflowoperatoren
← Terug naar Swift Academy