Adatábrázolás › Ábrázolható értékek és számábrázolási határok

Haladó kiegészítés · középiskola és egyetemi alapozó

Ábrázolható értékek és számábrázolási határok

Rögzített számjegyszám mellett számolod ki a legkisebb és legnagyobb értéket, illetve a két szomszédos érték közötti lépést.

  • Adatábrázolás
  • Saját feladat
  • Önellenőrzés
Anime tanuló a számábrázolás határait jelző hatványok között.

A lecke végére

  • megadod egy előjel nélküli n bites egész értéktartományát
  • kiszámolod egy egyszerű fixpontos ábrázolás határait
  • megkülönbözteted az ábrázolást a számrendszer alapjától

Amit már tudsz

  • helyiértékekkel és hatványokkal számolsz
  • átváltasz kettes és tízes számrendszer között

A korlátot az ábrázolás adja

Egy számrendszer önmagában nem korlátozza a leírható számok nagyságát. A korlát akkor jelenik meg, ha rögzítjük a számjegyek számát, az előjelet és a törtrész helyét.

8 bites előjel nélküli egész
00000000legkisebb érték: 0
11111111legnagyobb érték: 255
256különböző bitminta
A 256 különböző érték 0-tól 255-ig tart. A darabszám és a legnagyobb érték eltér.

Egész számok határai

Előjel nélküli, n bites bináris egész esetén: minimum = 0, maximum = 2ⁿ − 1. Ha viszont pontosan n számjegyű pozitív számot kérünk vezető nulla nélkül, a legkisebb már 2ⁿ⁻¹.

A feltétel megváltoztatja a határokat
FeltételMinimumMaximum
8 bites előjel nélküli egész0255
Pontosan 8 jegyű bináris pozitív szám128255
8 bites kettes komplemens egész−128127

A kettes komplemens sor már előjeles kódolás: részletesen a kettes komplemens leckéjében foglalkozunk vele.

Egyszerű fixpontos ábrázolás

Legyen az alap p ≥ 2; az egész rész k számjegyből, a tört rész m számjegyből álljon, előjel nélkül. Minden számjegy 0 és p − 1 közötti. Ekkor:

  • legkisebb érték: 0
  • lépésköz: p⁻ᵐ
  • legnagyobb érték: pᵏ − p⁻ᵐ

Példa: négy egész és két tört bináris helyen 1111,11₂ = 15,75₁₀, a lépésköz 0,25. Tízes alapon nyolc egész és két tört hely maximuma 99 999 999,99. Ezek meghatározott ábrázolási modellek; egy adatbázismező pontos határait a tényleges adattípus adja.

Számíts és indokolj

Tervezz kisméretű számábrázolást

Mennyi a maximum 5 bites előjel nélküli egész esetén? Mi a lépésköz és a maximum, ha három egész és két tört bináris helyed van? Elfér-e 32 az első ábrázolásban?

Előbb próbáld meg, utána ellenőrizd

Öt biten a maximum 2⁵ − 1 = 31, ezért 32 nem fér el. A fixpontos változat lépésköze 2⁻² = 0,25, maximuma 2³ − 0,25 = 7,75, binárisan 111,11₂.

Ellenőrizd a munkádat

Nézd át a számításaidat, és válaszolj a kérdésekre a leírás visszaolvasása nélkül.

  • Megkülönböztetted a bitminták darabszámát (2ⁿ) és a legnagyobb értéket (2ⁿ − 1)?
  • Figyeltél arra, hogy előjel nélküli vagy előjeles ábrázolásról van-e szó?
  • A fixpontos ábrázolásnál a lépésközt (p⁻ᵐ) is kiszámoltad?
  • Ellenőrizted, hogy a vizsgált szám belefér-e az ábrázolás tartományába?
  • El tudod magyarázni, miért nem a számrendszer, hanem az ábrázolás korlátozza a számokat?
Kitekintés: gyakori egész típusok a programozásban
BitekElőjel nélkülKettes komplemens (előjeles)
80 … 255−128 … 127
160 … 65 535−32 768 … 32 767
320 … 4 294 967 295−2 147 483 648 … 2 147 483 647

Ezért fontos programozáskor az adattípus megválasztása (például C#-ban a byte, a short és az int): ha egy érték nem fér el, túlcsordulás történik.

Gyakori hiba

A 8 bitre sokan 256-ot mondanak legnagyobb értéknek. A 256 a lehetséges értékek száma, de mivel a 0 is egy érték, a legnagyobb 255.

Az előjeles számok ábrázolását a kettes komplemens lecke mutatja be.