Mennyit ér a 10011100 tízes számrendszerben? Honnan tudjuk, hogy negatív vagy pozitív számról van szó?
Attól függ, hogy milyen számábrázolási módszert használnak.
A kettes komplemens ábrázolás a legelterjedtebb.
Abban az ábrázolási rendszerben -100-nak felel meg.
Mindig ugyanannyi jegyűek a számok és a legelső számjegy ha 0 akkor pozitív, ha 1 akkor negatív.
Ha részletesen érdekel a téma:
És itt egy átváltó:
Egyébként magának a kettes számrendszernek a természetéből nem következik, hogy kötelező n*8 számjegyűnek lennie mindennek, ez a számítógép működéséből adódik.
Ami felvet egy érdekes kérdést: mi a sz__nak tanítják ezt középiskolában, mikor jó húsz éve már a programozók nagy része sem használja a kettes-tizenhatos számrendszert, legfeljebb olyanok, akik mikrokontrollereket programoznak meg okoscuccokat (telefon, tablet, TV, stb) kernelszinten, de olyat fehér emberből ma már nem nagyon látsz.
1. A kérdésben szó nem esik számítógépes számábrázolósról. Erre gondolni semmiféle alap nincs. Tehát a felírt érték egy kettes rendszerbeli szám, amit át lehet alakítani tízes rendszerbe. És a negatív számokat írásban a "-" jellel jelöljük, bármilyen számrendszerről van is szó.
2. Ha viszont a számítógépes számábrázolásról beszélünk, akkor ez az adott egységben alkalmazott rendszertől függ és meglehetősen sokféle lehet. Valóban egy konkrét prezentáció, ha egy számot byte-onként (8 bit) ábrázolunk, és ebben az egyik szélső bitet fenntarthatjuk az előjel számára. Ebben az esetben persze az ábrázolható szám csak 7 bites (kettes rendszerben 7 jegyű).
3. E feltételezésnél eleve fixpontos ábrázolást tekintettünk, ami a lehetséges ábrázolásokból csak egy eset, és nem jellemző számok ábrázolására (ahhoz inkább a lebegőpontos ábrázolást használják), mert rendkívül gazdaságtalan, nagy tárterületet igényel és a vele való műveletek lassúak.
4. 50-60 évvel ezelőtt a programozás egy része még természetszerűleg bináris kódban történt, legalábbis, ha valaki azt akarta, hogy a program gyorsan fusson. És akkor is csak speciális helyzetekben alkalmaztak fixpontos számábrázolást, de nem byte-onként, hanem jellemzően 2, 4, esetleg 6 byte-os számokat. Akkor más lehetőség nem is nagyon volt. Az áttörést az objektumorientált programozás hozta, azóta fokozatosan kiszorult a gépi kódú programozás, ezt valóba mára a makrók és metódusok írói használják csak (nagy cégeknél).
A gépi számábrázolást nem azért tanítják, mert ezt kellene használni. Hanem azért, amiért tanítanak történelmet, matematika, vagy fizikatörténetet, vagyis egy téma ismeretéhez hozzá tartozik az alapok ismeret is. Hogy ne csak bambán használjunk valamit, hanem értsük is, honnan hová jutottunk.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!