Skip to main content

Hva er et aritmetisk skifte?

Et aritmetisk skifte er en måte å multiplisere eller dele tall på.Aritmetiske skift utføres vanligvis på binære tall.Konseptet er imidlertid aktuelt for ethvert nummereringsordning.

Følgende er et eksempel ved å bruke desimaltall som har ti som base.Når 250 er aritmetisk forskjøvet til venstre, er det resulterende tallet 2500, som er 250 multiplisert med ti.Når 250 representert ved bruk av 4 sifre som 0250, er aritmetisk forskjøvet til høyre det resulterende tallet er 0025, som er 250 delt med ti.Så det er riktigere å si at et aritmetisk skifte er en måte å multiplisere eller dele tall med basen av tallskjemaet.

Binære tall har 2 som base;De er representert ved bruk av 0s og 1s, og kan signeres eller usigneres.I et aritmetisk venstre skift forskyves tallene med ett rom til venstre med null som blir plassert til høyre.I et aritmetisk høyre skift blir tallene forskjøvet med ett rom til høyre med det venstre tallet som blir beholdt til venstre.Generelt kan et skifte være for N -mellomrom.

I usignerte binære tall er hver posisjon en kraft på 2, så binær 1 er desimal 1, binær 10 er desimal 2, binær 100 er desimal 4, og så videre.Så 0110 er desimal 6. Når et aritmetisk venstre skift blir utført, er det resulterende tallet 1100 som er desimal 12. Når et aritmetisk høyre skift blir utført er det resulterende antallet 0011 som er desimal 3.

da tallene kan være beggePositive og negative, signerte binære tall brukes der den venstre biten er 0 for et positivt tall eller null, og 1 for et negativt tall.For 4-bits tall er således 0111, som er desimal 7, det største positive tallet.Ordningen som oftest brukes til negative tall har 1111 som desimal -1, og dette går helt ned til 1000, som er desimal -8.

Et aritmetisk venstre skift på 1101, for eksempel, som er desimal -3, resulterer i1010, som er desimal -6.Et aritmetisk høyre skift på 1010, som er desimal -6, resulterer i 1101, som er desimal -3.Legg merke til at den venstre biten er beholdt.

Et aritmetisk skifte tilsvarer ikke alltid multiplikasjon og inndeling for hvert tall i tallskjemaet.Det er begrensninger i hver ende av antallskjemaet.For eksempel gir venstre skift på 0111, desimal 7, desimal -2, og, det høyre skiftet på 1111, desimal -1, gir desimal -1.

Et aritmetisk skifte har en iboende enkelhet og et skifte er mye raskere tilutføre enn normal multiplikasjon og inndeling.Så datamaskiner støtter denne operasjonen ved å bruke en relativt enkel mekanisme som kalles en skiftenhet eller skiftregister.Kyndige programmerere bruker denne operasjonen så lenge begrensningene nevnt ovenfor enten unngås eller ivaretatt.