Bitti päälle?

Jwjaed

Mitenkäs C onnistuu haluttujen bittien päälle laitto, esim 2. ja 8. bitti päälle?

5

944

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Samat kuin C-kielessä

      Bittitason operaattorit ovat samat kuin C-kielessä. C :ssa ne voi yliladata, joten voit käyttää erityisttä bittivektoriluokkaa, josta lisää tietoa doksuissa.

      Voit hakea tarkempaa ohjetta enkuksi sanoilla bitwise operators C tai C . Tässäpä lyhyesti:

      AND &
      OR |
      XOR ^
      BNOT ~

      Näistä kolme ekaa voi yhdistää =-merkin kanssa tehden operaattorit &= |= ja ^=. Esim. a &= b on sama kuin a = a & b. Sama juttu kuin =:n ja muiden tuttujen kanssa.

      Esim. toinen bitti on desimaalilukuna 2, eli 2 potenssiin 1. Silloin voit asettaa vaikkapa muuttujassa a sen näin

      a |= 2

      Vastaavasti 8. bitti on 2^7, eli 128. Sitenpä sanot, että a |= 128.

      Nuo luvut voi ilmaista myös heksoina, jos haluaa.

      Lisäksi on >, jotka siirtävät bittejä. Katso ne operaattorit jostain oppaasta, niin osaat sitten kaikki.

      • Jwjaed

        Kiitoksia noilla ohjeilla sain jotakin aikases, vielä semmoista mitenkäs tuo potenssi onnistuu C :ssa?


      • hemmoit
        Jwjaed kirjoitti:

        Kiitoksia noilla ohjeilla sain jotakin aikases, vielä semmoista mitenkäs tuo potenssi onnistuu C :ssa?

        a = a | (1 1
        1 -> 2

        jne...


      • On potenssi
        Jwjaed kirjoitti:

        Kiitoksia noilla ohjeilla sain jotakin aikases, vielä semmoista mitenkäs tuo potenssi onnistuu C :ssa?

        Yleistä potenssioperaattoria ei C -kielessä ole, vaan joudut käyttämään math-kirjaston pow-funktiota. Kahden potensseja voi laskea liu'uttamalla bittejä, kuten toisessa viestissä jo näytettiin.

        Jos käytät kääntäjään optiota -ffast-math (tai vastaava, tuo on GCC:n optio), niin pow-kutsusta tulee yleensä hyvin tehokasta koodia. Ei kannata siis välittää siitä, että se on ihan oikea funktio.


      • Jwjaed
        On potenssi kirjoitti:

        Yleistä potenssioperaattoria ei C -kielessä ole, vaan joudut käyttämään math-kirjaston pow-funktiota. Kahden potensseja voi laskea liu'uttamalla bittejä, kuten toisessa viestissä jo näytettiin.

        Jos käytät kääntäjään optiota -ffast-math (tai vastaava, tuo on GCC:n optio), niin pow-kutsusta tulee yleensä hyvin tehokasta koodia. Ei kannata siis välittää siitä, että se on ihan oikea funktio.

        Kiitoksia kaikille auttaneille.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."

      Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi
      Tv-sarjat
      130
      5035
    2. Voi kun mies rapsuttaisit mua sieltä

      Saisit myös sormiisi ihanan tuoksukasta rakkauden mahlaa.👄
      Ikävä
      32
      3177
    3. Haluan jutella kanssasi Nainen

      Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O
      Ikävä
      16
      1827
    4. Poliisiauto Omasp:n edessä parkissa

      Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak
      Seinäjoki
      22
      1780
    5. Onko mies niin,

      että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.
      Tunteet
      19
      1655
    6. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      71
      1501
    7. Tietysti jokainen ansaitsee

      Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt
      Ikävä
      11
      1275
    8. Armi Aavikko Malmin hautausmaa

      Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?
      Kotimaiset julkkisjuorut
      11
      1266
    9. Miksi näin?

      Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi
      Maailman menoa
      19
      1257
    10. Haluisin suudella ja huokailla

      ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni
      Ikävä
      16
      1247
    Aihe