Ugrás a tartalomhoz

Gépi számok

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

A gépi számábrázolásban az előjelet az összes számjegyet megelőző előjelbit jelzi, ami nulla, ha a szám pozitív, és egy, ha a szám negatív. Ezzel már a számok leírásakor maradékosztályos számábrázolásra térünk át, és műveleteinket maradékosztályokon végezzük.

A kettes számrendszerben csak 2 db jelet használunk: a 0-t és az 1-et. A nem negatív számok gépi ábrázolása megfelel a szokásos kettes számrendszerbeli ábrázolásnak. Ahhoz, hogy egy negatív tízes számrendszerben írt számot úgy ábrázoljuk, ahogy a gépben van, a szám előjel nélküli alakját át kell váltanunk 2-es számrendszerbe.

Példa

[szerkesztés]
  • 7/2 = 3, maradék: 1
  • 3/2 = 1, maradék: 1
  • 1/2 = 0, maradék: 1

így megkaptuk a szám 3 bináris értékét. Az adott szám típusától függően (a különböző programnyelvekben különböző típusok lehetségesek) a hiányzó helyi értékeket kipótoljuk 0-kkal:

00000111

Ezek után elvégezzük a bitenkénti negációt:

11111000

Majd hozzáadunk az így kapott értékhez 1-et:

11111000 + 1 = 11111001

ezzel megkaptuk az adott negatív szám gépi alakját.

A számolás helyessége bizonyítható azzal, hogy összeadjuk a pozitív számot a negatívval, és az eredmény nulla lesz, tehát a negatív szám a pozitív ellentettje.

A számítógépek általában kettes számrendszerben számolnak. Ha mégsem, akkor azt a megfelelő programnyelv biztosítja. Ekkor akár tízes számrendszerben is dolgozhat a gép, amiben a számjegyek reprezentációja eltérhet a jegyek kettes számrendszerbeli alakjától.

Következményei

[szerkesztés]

Érdekes következmények adódnak ebből a számábrázolásból:

  • A számítógép valójában maradékosztályokkal számol. Így két elég nagy pozitív szám összege negatív is lehet.
  • A negatív számok nagyobbak lesznek, mint a pozitívak.
  • Eggyel több negatív szám ábrázolható, mint pozitív.
  • A nulla ábrázolható pozitív és negatív számként is. Általában a pozitív ábrázolást választják.

Források

[szerkesztés]
  • Stoyan Gisbert–Takó Galina: Numerikus módszerek I. 0. fejezet.