Bittisiirtolaskuri

Laske luvun bittisiirto vasemmalle tai oikealle – näe tulos desimaalina, binäärinä ja heksana sekä looginen ja aritmeettinen siirto.

Bittisiirtolaskuri

Valitse siirron tyyppi ja bittileveys, syötä ei-negatiivinen kokonaisluku ja siirtomäärä. Tulos päivittyy heti.

Tulokset

  • Tulosta
  • Linkitä
  • Bittisiirtolaskuri – laske bittisiirrot vasemmalle ja oikealle

    Bittisiirtolaskuri auttaa sinua laskemaan luvun bittisiirrot hetkessä. Syötä luku ja siirtomäärä sekä valitse siirron tyyppi ja bittileveys, niin laskuri näyttää tuloksen desimaalina, binäärinä ja heksana. Laskuri sopii ohjelmoinnin ja tietotekniikan opiskelijoille sekä kehittäjille, jotka työskentelevät bittitason laskennan parissa.

    Mikä on bittisiirto?

    Bittisiirto siirtää luvun kaikkia bittejä yhtä monta paikkaa vasemmalle tai oikealle. Koska jokainen bitin paikka vastaa kahden potenssia, siirto muuttaa luvun arvoa kahden potenssin verran. Bittisiirto on prosessorille erittäin nopea operaatio, ja sitä käytetään paljon laskennan optimoinnissa.

    Vasemmalle siirto (≪)

    Vasemmalle siirto siirtää bitit vasemmalle ja tuo oikealta nollabittejä. Jokainen siirto kaksinkertaistaa luvun, eli vasemmalle siirto kertoo luvun kahden potenssilla:

    a ≪ k = a × 2ᵏ

    Esimerkki: 3 ≪ 2 = 12, koska bitit siirtyvät kaksi paikkaa vasemmalle (3 × 4 = 12). Binäärinä 11 muuttuu muotoon 1100.

    Oikealle siirto (≫)

    Oikealle siirto siirtää bitit oikealle, jolloin luku pienenee. Jokainen siirto puolittaa luvun, eli oikealle siirto jakaa luvun kahden potenssilla (kokonaislukujako):

    a ≫ k = a ÷ 2ᵏ (kokonaislukujako)

    Esimerkki: 12 ≫ 2 = 3, koska bitit siirtyvät kaksi paikkaa oikealle (12 ÷ 4 = 3).

    Looginen ja aritmeettinen oikealle siirto

    Oikealle siirrosta on kaksi muotoa sen mukaan, mitä vasemmalta tuodaan:

    Positiivisilla luvuilla molemmat antavat saman tuloksen, koska etumerkkibitti on tällöin 0.

    Vaiheittainen esimerkki

    Lasketaan 3 ≪ 2 kahdeksalla bitillä:

    1. Kirjoitetaan luku binäärinä: 3 = 00000011.
    2. Siirretään bitit kaksi paikkaa vasemmalle ja tuodaan oikealta kaksi nollaa: 00001100.
    3. Luetaan tulos desimaaliksi: 00001100 = 12.

    3 ≪ 2 = 12 (= 3 × 4)

    Reunan yli katoavat bitit

    Valitun bittileveyden ulkopuolelle siirtyvät bitit katoavat. Esimerkiksi 8 bitin leveydellä luku 11000000 siirrettynä yhden paikan vasemmalle antaa 10000000, koska ylin bitti siirtyy reunan yli. Tämä on hyvä muistaa ylivuototilanteiden välttämiseksi.

    Mihin bittisiirtoja tarvitaan?

    Bittisiirtoja käytetään muun muassa kahdella kertomiseen ja jakamiseen, bittimaskien rakentamiseen, värikomponenttien pakkaamiseen ja purkamiseen sekä tiivistys- ja salausalgoritmeissa. Ne ovat tehokas tapa käsitellä bittejä ryhminä ja kuuluvat ohjelmoinnin perustyökaluihin.

    Usein kysytyt kysymykset

    Mitä bittisiirto tarkoittaa?
    Bittisiirto siirtää luvun kaikkia bittejä yhtä monta paikkaa vasemmalle tai oikealle. Siirtomäärä kertoo, montako paikkaa bitit liikkuvat. Bittisiirto on yksi nopeimmista operaatioista, ja sitä käytetään paljon kahdella kertomiseen ja jakamiseen sekä bittimaskien rakentamiseen.
    Miksi vasemmalle siirto kertoo ja oikealle jakaa?
    Binäärissä jokainen bitin paikka vastaa kahden potenssia. Kun bitit siirtyvät yhden paikan vasemmalle, jokaisen bitin paikka-arvo kaksinkertaistuu, joten luku kerrotaan kahdella. Vastaavasti oikealle siirto puolittaa paikka-arvot, jolloin luku jaetaan kahdella (kokonaislukujako). Esimerkiksi 3 ≪ 2 = 12 ja 12 ≫ 2 = 3.
    Mitä eroa on loogisella ja aritmeettisella oikealla siirrolla?
    Looginen oikealle siirto tuo vasemmalta aina nollabittejä, joten sitä käytetään etumerkittömille luvuille. Aritmeettinen oikealle siirto säilyttää etumerkkibitin: jos luku on negatiivinen (ylin bitti 1), vasemmalta tuodaan ykkösiä, jotta luvun etumerkki säilyy. Positiivisilla luvuilla molemmat antavat saman tuloksen.
    Mitä tapahtuu biteille, jotka siirtyvät reunan yli?
    Bitit, jotka siirtyvät valitun bittileveyden ulkopuolelle, katoavat. Esimerkiksi 8 bitin leveydellä luvun 11000000 siirtäminen yhden paikan vasemmalle antaa 10000000, koska ylin bitti siirtyy reunan yli ja häviää. Tämä on syytä huomioida, ettei luku ylivuoda odottamatta.
    Miten bittileveys vaikuttaa siirtoon?
    Bittileveys (8, 16 tai 32 bittiä) määrää, kuinka monta bittiä luvussa on ja milloin bitit katoavat reunan yli. Se vaikuttaa erityisesti vasemmalle siirtoon, jossa ylimmät bitit voivat hävitä, sekä aritmeettiseen oikealle siirtoon, jossa etumerkkibitti määräytyy valitun leveyden ylimmästä bitistä.
    Oliko tästä laskurista apua?

    Linkitä tämä laskuri

    Kopioi koodi ja liitä se omalle sivustollesi.

    Suositut laskurit