Skip to main content

Co to jest zmiana arytmetyczna?

Przesunięcie arytmetyczne jest sposobem na pomnożenie lub dzielenie liczb.Przesunięcia arytmetyczne są zwykle wykonywane na liczbach binarnych.Koncepcja ma jednak zastosowanie do dowolnego schematu numerowania.

Poniżej jest przykład przy użyciu liczb dziesiętnych, które mają dziesięć jako podstawę.Gdy 250 jest arytmetycznie przesunięte w lewo, wynikowa liczba wynosi 2500, czyli 250 pomnożonych przez dziesięć.Gdy 250 reprezentowanych za pomocą 4 cyfr jako 0250 jest arytmetycznie przesunięte na prawą, wynikowa liczba wynosi 0025, czyli 250 podzielonych przez dziesięć.Bardziej poprawne jest stwierdzenie, że przesunięcie arytmetyczne jest sposobem na pomnożenie lub dzielenie liczb przez podstawę schematu liczb.

Liczby binarne mają 2 jako podstawę;Są one reprezentowane przy użyciu 0 i 1 i mogą być podpisane lub niepodpisane.W arytmetycznym przesunięciu lewej liczby są przesunięte o jedną przestrzeń po lewej stronie, a zero umieszcza się po prawej.W arytmetycznym przesunięciu prawe liczby są przesunięte o jedną przestrzeń w prawo, a liczba najbardziej lewej jest zatrzymana po lewej stronie.Ogólnie rzecz biorąc, może być przesunięcie dla N przestrzeni.

W liczbach binarnych niepodpisanych każda pozycja ma moc 2, więc binarny 1 ma dziesiętne 1, binarne 10 to dziesiętne 2, binarne 100 ma dziesiętne 4, a tak dalej.Tak więc 0110 jest dziesiętne 6. Po przeprowadzeniu arytmetycznego przesunięcia lewej, wynikowa liczba wynosi 1100, czyli dziesiętne 12. Gdy przeprowadzana jest arytmetyczna przesunięcie prawe, wynikowa liczba wynosi 0011, która jest dziesiętna 3.

Ponieważ liczby mogą być obaPozytywne i ujemne, podpisane liczby binarne są używane, w których lewy bit wynosi 0 dla liczby dodatniej lub zero, a 1 dla liczby ujemnej.Zatem dla 4-bitowych liczb 0111, czyli dziesiętne 7, jest największą liczbą dodatnią.Schemat najczęściej używany dla liczb ujemnych ma 1111 jako dziesiętne -1, co sprowadza się aż do 1000, czyli dziesiętne -8.

Na przykład arytmetyczna zmiana lewej na 1101, która wynosi dziesiętne -3, powoduje w1010, czyli dziesiętne -6.Arytmetyczne przesunięcie prawe na 1010, czyli dziesiętne -6, powoduje 1101, czyli dziesiętne -3.Zauważ, że pozostawiony jest lewy bit.

Przesunięcie arytmetyczne nie zawsze odpowiada mnożowi i podziałowi dla każdej liczby w schemacie liczb.Istnieją ograniczenia na obu końcach schematu liczb.Na przykład lewe przesunięcie 0111, dziesiętne 7, daje dziesiętne -2, a prawe przesunięcie 1111, dziesiętne -1, daje dziesiętne -1.

Przesunięcie arytmetyczne ma nieodłączną prostotę, a przesunięcie jest znacznie szybszeprzeprowadzać niż normalne mnożenie i podział.Tak więc komputery obsługują tę operację przy użyciu stosunkowo prostego mechanizmu zwanego jednostką zmianową lub rejestrem zmiany.Doświadczeni programiści korzystają z tej operacji, o ile ograniczenia wspomniane powyżej są albo unikające lub zadbane.