Skip to main content

Vad är en aritmetisk förändring?

En aritmetisk förändring är ett sätt att multiplicera eller dela upp nummer.Aritmetiska förskjutningar utförs vanligtvis på binära nummer.Konceptet är emellertid tillämpligt på alla numreringsschema.

Följande är ett exempel med decimalnummer som har tio som bas.När 250 skiftas aritmetiskt till vänster är det resulterande numret 2500, vilket är 250 multiplicerat med tio.När 250 representerade med 4 siffror som 0250, skiftas aritmetiskt till höger är det resulterande numret 0025, vilket är 250 uppdelat med tio.Så det är mer korrekt att säga att en aritmetisk förskjutning är ett sätt att multiplicera eller dela siffror med basen för antalet.

Binära siffror har 2 som bas;De representeras med 0s och 1s och kan undertecknas eller inte undertecknas.I en aritmetisk vänsterförskjutning flyttas siffrorna med ett utrymme till vänster med noll placeras till höger.I en aritmetisk högerförskjutning skiftas siffrorna med ett utrymme till höger med det vänstra numret som behålls till vänster.I allmänhet kan en förskjutning vara för n -utrymmen.

I osignerade binära siffror är varje position en kraft på 2, så binär 1 är decimal 1, binär 10 är decimal 2, binär 100 är decimal 4, och så vidare.Så 0110 är decimal 6. När en aritmetisk vänsterskift utförs, är det resulterande antalet 1100 vilket är decimal 12. När en aritmetisk högerförskjutning utförs är det resulterande antalet 0011 som är decimal 3.

eftersom siffror kan vara båda båda kan vara bådaPositiva och negativa, signerade binära siffror används där den vänstra biten är 0 för ett positivt tal eller noll och 1 för ett negativt tal.För 4-bitarsnummer är således 0111, som är decimal 7, det största positiva antalet.Det schema som oftast används för negativa siffror har 1111 som decimal -1 och detta går hela vägen ner till 1000, vilket är decimal -8.

En aritmetisk vänsterskift på 1101, till exempel decimal -3, resulterar i1010, som är decimal -6.En aritmetisk högerförskjutning på 1010, som är decimal -6, resulterar i 1101, vilket är decimal -3.Lägg märke till att den vänstra biten bibehålls.

En aritmetisk förskjutning motsvarar inte alltid multiplikation och uppdelning för varje nummer i nummerschemat.Det finns begränsningar i vardera änden av nummerschemat.Till exempel ger den vänstra skiftet 0111, decimal 7, decimal -2, och den högra skiftet på 1111, decimal -1, ger decimal -1.

En aritmetisk förändring har en inneboende enkelhet och en skift är mycket snabbare tillgenomföra än normal multiplikation och uppdelning.Så datorer stöder denna operation med en relativt enkel mekanism som kallas en skiftenhet eller skiftregister.Kyndiga programmerare använder denna operation så länge de begränsningar som nämns ovan undviks eller tas hand om.