A pozitív egész szám ábrázolásához a bináris számot decimálissá kell alakítanunk. Ezt úgy tesszük, hogy az i-edik bitet megszorozzuk 2i-vel. Tehát a jobb szélső bitet megszorozzuk 20-cal, vagyis 1-gyel, a második jobb szélső bitet 21-gyel, vagyis 2-vel, a harmadik jobb szélső bitet pedig 22-vel, vagyis 4-gyel, és így tovább.

Az 1010 binárisan tehát: 1*23+ 0*22+1*21+0*20 = 8+0+2+0 = 10 decimálisan

Másképpen is megfogalmazhatjuk: a jobb szélső bitből kiindulva balra haladva minden egyes bithez, ami 1, 1,2,4,8,16,32, stb. rendelünk.
Vehetünk egy bináris számot is, és átalakíthatjuk binárisra. Ennek egyik módja, hogy kiírjuk az egyes bitek 10-es bázisú értékeit, amíg nem találunk egyet, amelyik nagyobb, mint az átalakítani kívánt szám. Tehát A 155-ös bázis-10-es szám esetében kiírnánk a :
értéknek megfelelő értékeket: 256 128 64 32 16 8 4 2 1
A 155-ös számhoz a 256 bitet nem tudjuk beállítani, de a 128-at igen, ezért oda teszünk egy ‘1-est.
érték: 256 128 64 32 16 8 4 2 2 1
0 1
Még mindig 155-128=27 kell. A 64 és a 32 túl nagy, ezért oda 0-t teszünk, a 16-ra pedig 1-et:
érték: 256 128 64 32 16 8 4 2 1
0 1 0 0 0 1
Még mindig 155-128-16=11-re van szükségünk. Tehát a 8-as értékű számjegyre 1-est adunk. Még mindig szükségünk van 3 számjegyre, ezért a 4 értékű számjegybe 0-t, a 2 értékűbe és az 1 értékűbe pedig 1-et teszünk. Így kapjuk a bináris számot:
érték: 256 128 64 32 16 8 4 2 1
0 1 0 0 0 1 1 1 0 1 1 1 1
A 155 decimális szám tehát egyenlő 010011011 bináris számmal.
Az egész számokhoz általában 4 bájtot (32 bit), 64 bites számítógépeken gyakran 8 bájtot rendelnek.
A lebegőpontos számok ábrázolása
A lebegőpontos számokat az egész számokhoz hasonlóan ábrázolják, de néhány bitet a szám tört részének tartanak fenn. Emiatt a lebegőszámok általában több bitet kapnak (pl. 32 helyett 64-et).
Példa: Tegyük fel, hogy egy lebegőszámot 6 bittel ábrázolnánk, a jobb szélső 2 bit a törtrész. Akkor mi lenne az értéke:
101010?

Karakterek és karakterláncok

A billentyűzeten megjelenő minden szimbólum – betűk, számjegyek stb. – a számítógép memóriájában belsőleg egy számmal van reprezentálva. Ezeket karaktereknek nevezzük.
A számok és szimbólumok közötti megfeleltetéseket az ASCII táblázat határozza meg: http://www.lookuptables.com/.
A leképező táblázatot ASCII-táblázatnak vagy ASCII-kódnak nevezték. Az ASCII-vel minden szimbólumot egy 0 és 255 közötti számmal ábrázoltak (kérdés: hány bit szükséges egy ilyen szám tárolásához?)
Azért, hogy ne legyen angol-centrikus, a modern számítástechnikai rendszerek ma már Unicode-ot használnak, amely számos különböző nyelvet képes ábrázolni, és további biteket igényel az egyes szimbólumok ábrázolásához. Az angol szimbólumok esetében azonban az ASCII-táblázat továbbra is használható az egyes szimbólumok értékének megkeresésére.

A karakterlánc karakterek sorozata, pl. ‘kutya’. Belsőleg tároljuk az egyes karakterek unicode-számát és egy speciális karakterlánc végi karaktert. Tehát a ‘kutya’ szó valójában a ‘d’ unicode száma, az ‘o’ unicode száma és a ‘g’ unicode karaktere, végül pedig a karakterlánc végének karaktere, ami a ‘\0’. A “d” az ASCII-táblázatban 100 tizedesjegy, így a “kutya” a következő (egyenként 16 bitben tárolt) tizedesjegyekkel jelenik meg:
100 111 103 0
A számokat általában egész számokként tároljuk, a fentiek szerint. Amikor azonban bemenetet kapunk a felhasználótól, vagy értékeket jelenítünk meg, akkor számjegyek sorozataként ábrázolt számokat kell kezelnünk. A betűkhöz hasonlóan a számjegyek is karakterek. A ‘0’ számjegy a 48-as unicode szám, a ‘9’ pedig az 57-es unicode szám. A ‘724’ karakterlánc belső tárolása a következő: 55 50 52 0

Munkalap

1. Tekintsük a következő tizenhat bitet:

0000 0000 0100 1101

a. Mekkora a szám értéke, ha pozitív egész számot (egész számot) jelöl?
b. Ha a bitsorozat egy szimbólumot jelöl, akkor melyik szimbólum az? Használhatod az ascii keresőtáblázatot http://www.lookuptables.com/

2. A számítógépek régebben 64K memóriával rendelkeztek. Mennyi a K? Ez egy kerek szám? Miért nem dolgoznak az informatikusok olyan szép kerek számokkal, mint az 1000?
3. Mi az a megabájt? A gigabájt? Mi az ezer gigabájt? Egy millió gigabájt?
4. Mutassa meg, hogyan ábrázolnák a következő három 10-es bázisú számot binárisan.

24 1025 43

5. Mutassa meg, hogy a ‘macska’ hogyan ábrázolható bitekben?
6. Hány lehetséges karaktert lehet ábrázolni unicode-dal (16 bit)?
7. Mi a legnagyobb egész szám, amely 4 bájttal ábrázolható, ha csak pozitív számokat veszünk figyelembe?
8. Ha negatív számokat is figyelembe veszünk, mi a legnagyobb egész szám, amely négy bájttal ábrázolható ? Ön szerint hogyan reprezentálhatók a negatív számok?
9. Írj egy python függvényt, amely egy számjegyekből álló karakterláncot fogad el paraméterként, és egy olyan egész számot ad vissza, amely ezeknek a számjegyeknek a bázis-10 értéke, pl. ha a paraméter “723”, a függvény a 723-as egész számot adja vissza (Igen, tudom, a Pythonban van int függvény– ezt írod itt).
10. Írj egy olyan python függvényt, amely paraméterként egy 10-es bázisú számjegyekből álló karakterláncot fogad el, és egy 2-bázisú számjegyekből álló karakterláncot ad vissza úgy, hogy a 2-bázisú számjegyek az eredeti 10-es bázisú számjegyek átváltott értékei legyenek. Ha például “11” lenne beküldve, a függvény “1011”-et adna vissza.
A fenti kérdéseket dolgozza ki ceruzával és papírral. Ha befejezted, itt ellenőrizheted a bináris konverzióra adott válaszaidat: http://mistupid.com/computers/binaryconv.htm
Bináris átváltási segítség:

Bináris számok a CSUNPLUGGED-től

Bináris számok 60 másodperc alatt

.

Leave a comment

Az e-mail-címet nem tesszük közzé.