Skip to main content

Co je aritmetický posun?

Aritmetický posun je způsob, jak množit nebo dělící čísla.Aritmetické posuny jsou obvykle prováděny na binárních číslech.Koncept je však použitelný na libovolný systém číslování.Když je 250 aritmeticky posunuto doleva, výsledné číslo je 2500, což je 250 násobeno deseti.Když je 250 zastoupeno za použití 4 číslic jako 0250, je aritmeticky posunuto doprava, výsledné číslo je 0025, což je 250 děleno deseti.Je tedy správnější říci, že aritmetický posun je způsob, jak vynásobit nebo dělící čísla základnou číselného schématu.

Binární čísla mají 2 jako základnu;Jsou zastoupeny pomocí 0 a 1S a mohou být podepsány nebo nepodepsány.V aritmetickém směnu se čísla posunou o jeden prostor doleva, přičemž nula je umístěna vpravo.Při aritmetickém pravém posunu jsou čísla posunutá o jeden prostor doprava, přičemž číslo doleva je zachováno doleva.Obecně platí, že posun může být pro N prostory.Takže 0110 je desetinná hodnota 6. Když se provádí aritmetický posun vlevo, výsledné číslo je 1100, což je desetinné 12. Když se provádí aritmetický pravý posun, výsledné číslo je 0011, což je desetinné 3.

AS, protože čísla mohou být obojí obojíPozitivní a negativní, podepsaná binární čísla se používají, kde je bit nejvíce vlevo 0 pro kladné číslo nebo nulu a 1 pro záporné číslo.Pro čtyřbitová čísla, 0111, což je desetinné 7, je tedy největším kladným číslem.Schéma nejčastěji používané pro záporná čísla má 1111 jako desetinné -1 a to jde až na 1000, což je desetinná pole -8.1010, což je desetinné -6.Aritmetický pravý posun na 1010, který je desetinná -6, má za následek 1101, což je desetinné -3.Všimněte si, že je zadržen bit vlevo.

Aritmetický posun neodpovídá vždy násobení a dělení pro každé číslo v čísle.Na obou koncích počtu schématu jsou omezení.Například levý posun 0111, desetinné 7, dává desetinné -2 a pravý posun 1111, desetinné -1, dává desetinné -1.

aritmetický posun má přirozenou jednoduchost a posun je mnohem rychlejší kprovádět než normální multiplikace a dělení.Počítače tedy podporují tuto operaci pomocí relativně jednoduchého mechanismu zvaného Shift Unit nebo Shift Register.Důvtipní programátoři využívají tuto operaci, pokud se výše uvedená omezení vyhýbá, nebo se o ně postará.