Kaj je aritmetični premik?

Aritmetični premik je način množenja ali deljenja števil. Aritmetični premiki se običajno izvajajo na binarnih številih. Koncept pa je uporaben za katero koli shemo številčenja.

Sledi primer uporabe decimalnih števil, ki imajo za osnovo deset. Ko se 250 aritmetično premakne v levo, je dobljeno število 2500, kar je 250 pomnoženo z deset. Ko je 250 predstavljeno z uporabo 4 števk kot 0250, se aritmetično premakne v desno, je rezultat 0025, kar je 250, deljeno z deset. Zato je pravilneje reči, da je aritmetični premik način množenja ali deljenja števil z osnovo številske sheme.

Binarna števila imajo 2 kot osnovo; predstavljeni so z 0 in 1 in so lahko podpisani ali nepodpisani. Pri aritmetičnem premikanju v levo se številke premaknejo za en presledek v levo, pri čemer je nič postavljena na desno. Pri aritmetičnem zamiku v desno se številke premaknejo za en presledek v desno, skrajno levo število pa ostane v levo. Na splošno je premik lahko za “n” presledke.

V nepredpisanih binarnih številih je vsak položaj potenca 2, tako da je binarno 1 decimalno 1, binarno 10 je decimalno 2, binarno 100 je decimalno 4 itd. Torej je 0110 decimalni 6. Ko se izvede aritmetični levi premik, je dobljeno število 1100, kar je decimalno 12. Ko se izvede aritmetični desni premik, je rezultat 0011, ki je decimalni 3.

Ker so števila lahko tako pozitivna kot negativna, se uporabljajo predpisana binarna števila, pri čemer je skrajni levi bit 0 za pozitivno število ali nič in 1 za negativno število. Tako je za 4-bitna števila 0111, ki je decimalno 7, največje pozitivno število. Shema, ki se najpogosteje uporablja za negativna števila, ima 1111 kot decimalno -1 in to sega vse do 1000, kar je decimalno -8.

Aritmetični premik v levo na 1101, na primer, ki je decimalni -3, povzroči 1010, kar je decimalno -6. Aritmetični premik v desno na 1010, ki je decimalni -6, povzroči 1101, ki je decimalni -3. Upoštevajte, da je skrajni levi del ohranjen.
Aritmetični premik ne ustreza vedno množenju in deljenju za vsako število v številski shemi. Na obeh straneh številčne sheme so omejitve. Na primer, levi premik 0111, decimalni 7, daje decimalko -2, desni premik 1111, decimalni -1, pa decimalko -1.
Aritmetični premik ima prirojeno preprostost in premik je veliko hitrejši za izvedbo kot običajno množenje in deljenje. Računalniki torej podpirajo to operacijo z uporabo relativno preprostega mehanizma, imenovanega premična enota ali premični register. Izkušeni programerji uporabljajo to operacijo, dokler se omejitve, omenjene zgoraj, izognejo ali poskrbijo zanje.