Ugrás a tartalomhoz

arithmetic shift

A Wikiszótárból, a nyitott szótárból


Főnév

arithmetic shift (tsz. arithmetic shifts)

  1. (informatika) Az arithmetic shift (magyarul: aritmetikai eltolás) egy bitművelet, amely a bináris számokat eltolja balra vagy jobbra, miközben megtartja a szám előjelét (azaz a legjelentősebb bitet).



Mi az az arithmetic shift?

  • Egy biteltolás, amely során a bitek egy irányba (balra vagy jobbra) mozognak.
  • Jobbra történő aritmetikai eltolásnál az előjelbit (legjelentősebb bit) értékét megtartjuk, így megmarad az előjel (pozitív vagy negatív szám).
  • Balra történő aritmetikai eltolás lényegében megegyezik a logikai eltolással, mert az előjelbit is eltolódik (de gyakran ezt is aritmetikai eltolásnak nevezik).



Mire használjuk?

  • Egész számok gyors szorzására vagy osztására 2 hatványával.
  • Negatív számok esetén a jobbra aritmetikai eltolás előjelmegőrző osztás (például osztás kettővel).
  • Programozásban, alacsony szintű számításokban, például beágyazott rendszerekben.



Különbség a logikai és aritmetikai eltolás között

Művelet Előjel megőrzése? Használat
Logikai shift Nem Nem előjeles számokhoz
Aritmetikai shift Igen (jobbra) Előjeles egész számokhoz



Példa (8 bites szám, jobbra aritmetikai shift 1 helyiértékkel):

  • Szám: 1111 1000 (kétkomplementes -8)
  • Jobbra aritmetikai eltolás 1-gyel: 1111 1100 (kétkomplementes -4)

Az előjelbit (bal oldali 1-es) megmarad, így az eredmény továbbra is negatív.



Összefoglalás

Az aritmetikai eltolás egy bitművelet, amely a biteket eltolja, miközben megtartja az előjelbitet, így előjeles számok esetén is helyes műveletként szolgál szorzásra vagy osztásra.