Zig Academy · Oppitunti

Bittioperaattorit

AND, OR, XOR, NOT ja siirrot.

Oppitunti 3/413 vaihetta

Bittioperaattorit on ilmainen Zig Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Zig Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Zig Academy-kurssilla on yhteensä 4 oppituntia.

Bittien tasolle

Jokainen kokonaisluku on pohjimmiltaan bittijono. Bittioperaattoreilla voitte käsitellä yksittäisiä ykkösiä ja nollia suoraan ilman pyöristystä tai väliin jäävää matematiikkaa.

Bittioperaattori AND

&-operaattori säilyttää bitin vain kohdissa, joissa molemmissa syötteissä on 1. Se on perinteinen työkalu niiden bittien peittämiseen, joita ette halua mukaan.

const masked = value & 0x0F;

Bittikohtainen OR

|-operaattori asettaa bitin, jos jommassakummassa syötteessä on 1. Käyttäkää sitä tiettyjen lippujen kytkemiseen päälle vaikuttamatta muihin.

const withFlag = value | 0b0010;

Bittikohtainen XOR

^-operaattori asettaa bitin vain kohdissa, joissa syötteet eroavat toisistaan. XOR on kätevä lipun vaihtamiseen tai kahden bittikuvion vertailuun.

const toggled = value ^ 0b0001;

Bittikohtainen NOT

Yksipaikkainen ~-operaattori kääntää kaikki bitit kerralla: jokainen 1 muuttuu nollaksi ja jokainen 0 ykköseksi. Se muodostaa arvon komplementin.

const inverted = ~flags;

Siirtäminen vasemmalle

<<-operaattori siirtää bittejä kohti suurempiarvoista päätä ja täyttää tyhjentyvät kohdat nollilla. Jokainen yhden bitin vasemmalle siirto kaksinkertaistaa etumerkittömän arvon.

const doubled = x << 1;

Siirtäminen oikealle

>>-operaattori siirtää bittejä kohti pienempiarvoista päätä. Etumerkittömällä kokonaisluvulla jokainen yhden bitin oikealle siirto puolittaa arvon.

const halved = x >> 1;

Maskilla bittien lukeminen

Yhdistä AND maskiin ja testaa, onko bitti asetettu. Jos value & mask on nollasta poikkeava, lippu on päällä; jos tulos on nolla, se on pois päältä.

const isSet = (value & mask) != 0;

Asettaminen ja tyhjentäminen

OR-operaatiolla ja maskilla voitte asettaa bittejä ja käännetyllä maskilla tehdyllä AND-operaatiolla tyhjentää niitä. Yhdessä nämä antavat tarkan hallinnan jokaiseen lippuun.

const cleared = value & ~mask;

Siirtomäärät tarkistetaan

Zig ei salli siirtämistä enempää kuin tyyppi pystyy sisältämään bittejä. Alueen ulkopuolinen siirtomäärä on määritelty virhe, ei hiljaista roskaa.

Miksi bitit ovat tärkeitä

Bittioperaatiot ovat lippujen, käyttöoikeuksien, laitteistorekisterien ja tiiviin datan perusta. Niiden avulla voitte tallentaa monta tosi tai epätosi -vastausta yhteen lukuun.

Pikatarkistus

Haluatte bitin olevan asetettuna vain, kun kaksi syötettä eroavat toisistaan. Mikä operaattori?

Kertaus: bittien hallinta

Osaatte nyt käyttää operaattoreita &, |, ^, ~ sekä siirtoja << ja >> bittien lukemiseen, asettamiseen, tyhjentämiseen ja siirtämiseen täysin hallitusti. ⚙️

Aloita maksutta

Opi Zig tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Bittioperaattorit” ilmainen?

Kyllä – oppitunnin ”Bittioperaattorit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Zig Academy-kurssin, päivitä CoddyKit PROhon. Zig Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Bittioperaattorit”?

AND, OR, XOR, NOT ja siirrot. Harjoittelet Zig Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Zig Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Zig Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Bittioperaattorit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Zig Academy-oppitunnilla?

Kyllä. Jokainen Zig Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Aritmeettiset ja vertailuoperaattorit
  2. Ylivuoto: +, +% ja +|
  3. Bittioperaattorit
  4. Boolen logiikka ja oikosulkuarviointi
← Takaisin: Zig Academy