Mikä on aritmeettinen siirto?

Aritmeettinen siirto on tapa kertoa tai jakaa numeroita. Aritmeettiset siirrot suoritetaan tyypillisesti binääriluvuilla. Käsitettä voidaan kuitenkin soveltaa mihin tahansa numerointijärjestelmään.

Seuraava esimerkki käyttää desimaalilukuja, joiden perusta on kymmenen. Kun 250 siirretään aritmeettisesti vasemmalle, tuloksena oleva luku on 2500, joka on 250 kerrottuna kymmenellä. Kun 250 edustaa 4 numeroa muodossa 0250, siirretään aritmeettisesti oikealle, tuloksena oleva luku on 0025, joka on 250 jaettuna kymmenellä. Joten on oikeampaa sanoa, että aritmeettinen siirto on tapa kertoa tai jakaa numerot lukujärjestelmän pohjalla.

Binäärilukujen perusta on 2; ne on esitetty 0: lla ja 1: llä, ja ne voidaan allekirjoittaa tai allekirjoittaa. Aritmeettisessa siirtymisessä vasemmalle numerot siirretään yhden välilyönnin verran vasemmalle nollan ollessa oikealla. Aritmeettisessa oikeassa siirtymässä numerot siirretään yhden välilyönnin verran oikealle, ja vasemmanpuoleisin numero säilytetään vasemmalla. Yleensä siirto voi olla n -välilyöntejä.

Allekirjoittamattomissa binääriluvuissa jokainen sijainti on potenssi 2, joten binaari 1 on desimaali 1, binaari 10 on desimaali 2, binaari 100 on desimaali 4 jne. Joten 0110 on desimaali 6. Kun suoritetaan aritmeettinen vasen siirto, tuloksena oleva luku on 1100, joka on desimaali 12. Kun suoritetaan aritmeettinen oikea siirto, tuloksena oleva luku on 0011, joka on desimaali 3.

Koska numerot voivat olla sekä positiivisia että negatiivisia, käytetään allekirjoitettuja binäärilukuja, joissa vasemmanpuoleisin bitti on 0 positiiviselle numerolle tai nolla ja 1 negatiiviselle numerolle. Siten 4-bittisille numeroille 0111, joka on desimaali 7, on suurin positiivinen luku. Kaaviossa, jota useimmiten käytetään negatiivisille numeroille, on 1111 desimaalina -1 ja tämä laskee aina 1000: een, joka on desimaali -8.

Esimerkiksi aritmeettinen vasen siirto numerossa 1101, joka on desimaali -3, johtaa tulokseen 1010, joka on desimaali -6. Aritmeettinen siirto oikealle 1010, joka on desimaali -6, johtaa tulokseen 1101, joka on desimaali -3. Huomaa, että vasemmanpuoleisin bitti säilyy.
Aritmeettinen siirto ei aina vastaa kertomista ja jakoa numerojärjestelmän jokaiselle numerolle. Numerojärjestelmän molemmissa päissä on rajoituksia. Esimerkiksi vasen siirto 0111, desimaali 7, antaa desimaalin -2, ja oikea siirto 1111, desimaali -1, antaa desimaalin -1.
Aritmeettinen siirto on luontainen yksinkertaisuus ja siirto on paljon nopeampi suorittaa kuin normaali kertolasku ja jako. Joten tietokoneet tukevat tätä toimintoa käyttämällä suhteellisen yksinkertaista mekanismia, jota kutsutaan siirtoyksiköksi tai siirtorekisteriksi. Taitavat ohjelmoijat käyttävät tätä toimintoa niin kauan kuin yllä mainitut rajoitukset joko vältetään tai niistä huolehditaan.