Hvad er et aritmetisk skift?

Et aritmetisk skift er en måde at multiplicere eller dele numre på. Aritmetiske skift udføres typisk på binære tal. Konceptet gælder imidlertid for ethvert nummereringsskema.

Følgende er et eksempel ved hjælp af decimalnumre, der har ti som basen. Når 250 skiftes aritmetisk til venstre, er det resulterende antal 2500, hvilket er 250 ganget med ti. Når 250 repræsenteret ved hjælp af 4 cifre som 0250, skiftes aritmetisk til højre, det resulterende antal er 0025, som er 250 divideret med ti. Så det er mere korrekt at sige, at et aritmetisk skift er en måde at multiplicere eller opdele numre med basen af ​​nummerskemaet.

binære tal har 2 som basen; De er repræsenteret ved hjælp af 0s og 1s og kan underskrives eller usigneret. I et aritmetisk venstre skift forskydes tallene med et rum til venstre med nul, der placeres til højre. I et aritmetisk højre skift forskydes tallene med et rum til højre med det venstre nummer,Ed til venstre. Generelt kan et skift være til "n" rum.

I usignerede binære tal er hver position en magt på 2, så binær 1 er decimal 1, binær 10 er decimal 2, binær 100 er decimal 4, og så videre. Så 0110 er decimal 6. Når der udføres et aritmetisk venstre skift, er det resulterende antal 1100, der er decimal 12. Når der udføres et aritmetisk højre skift, er det resulterende antal 0011, der er decimal 3.

Da tal kan være både positive og negative, bruges binære tal, hvor den venstre bit er 0 for et positivt tal eller nul og 1 for et negativt tal. For 4-bit numre er 0111, som er decimal 7, det største positive tal. Ordningen, der oftest bruges til negative tal, har 1111 som decimal -1, og dette går helt ned til 1000, som er decimal -8.

Et aritmetisk venstre skift på 1101, for eksempel, som er decimal -3, resulterer i 1010, hvilketer decimal -6. Et aritmetisk højre skift på 1010, som er decimal -6, resulterer i 1101, som er decimal -3. Bemærk, at den venstre bit er tilbageholdt.

Et aritmetisk skift svarer ikke altid til multiplikation og opdeling for hvert tal i nummerskemaet. Der er begrænsninger i hver ende af nummerordningen. For eksempel giver den venstre forskydning af 0111, decimal 7, decimal -2, og den højre forskydning på 1111, decimal -1, giver decimal -1.

Et aritmetisk skift har en iboende enkelhed, og et skift er meget hurtigere at udføre end normal multiplikation og opdeling. Så computere understøtter denne operation ved hjælp af en relativt enkel mekanisme kaldet et skiftenhed eller skiftregister. Kyndige programmerere bruger denne operation, så længe de begrænsninger, der er nævnt ovenfor, enten undgås eller taget sig af.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?