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.

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.
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ⁿ⁻¹.
| Feltétel | Minimum | Maximum |
|---|---|---|
| 8 bites előjel nélküli egész | 0 | 255 |
| Pontosan 8 jegyű bináris pozitív szám | 128 | 255 |
| 8 bites kettes komplemens egész | −128 | 127 |
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
| Bitek | Előjel nélkül | Kettes komplemens (előjeles) |
|---|---|---|
| 8 | 0 … 255 | −128 … 127 |
| 16 | 0 … 65 535 | −32 768 … 32 767 |
| 32 | 0 … 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.
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.

