Bárki, aki valaha is gondolkodott rajtaIT szakemberekké vagy rendszergazdákká válni, és egyszerűen ahhoz, hogy a sorsot összekapcsolják a számítógépes technológiával, feltétlenül szükséges a számok számítógéppel történő megjelenítésének ismerete. Végül is éppen ezen alapulnak az alacsony szintű programozási nyelvek, például az Assembler. Ezért ma megvizsgáljuk a számok számítógépben való ábrázolását és elhelyezkedését a memóriacellákban.
Ha ezt a cikket olvassa, akkor valószínűlegmár tud róla, de érdemes megismételni. A személyi számítógép összes adatát bináris számrendszerben tárolják. Ez azt jelenti, hogy bármilyen számot a megfelelő formában kell ábrázolni, vagyis nullákból és egyekből áll.
A szokásos tizedes számok számítógépre érthető formákká történő lefordításához az alábbiakban ismertetett algoritmust kell használnia. Vannak speciális számológépek is.
Tehát annak érdekében, hogy egy számot binárissá alakítsunkszámrendszerhez, el kell vetnie a kiválasztott értéket és el kell osztania 2-vel. Ezután megkapjuk az eredményt és a fennmaradó részt (0 vagy 1). Az eredményt ossza meg ismét 2, és emlékezzen a maradékra. Ezt az eljárást meg kell ismételni, amíg a végén sem 0, sem 1 nem lesz. Ezután fordított sorrendben írjuk le a végső értéket és a maradványokat, ahogyan kaptuk őket.
Így történik a számok ábrázolása egy számítógépen. Bármely számot bináris formában írnak, majd egy memóriacellát vesznek fel.
Mint azt már tudnia kellett, a minimumaz információ egység 1 bit. Mint már rájöttünk, a számok ábrázolása számítógépen bináris formátumban történik. Így a memória minden bitjét egy érték fogja elfoglalni - 1 vagy 0.
A cellákat nagy szám tárolására használják.Minden ilyen egység legfeljebb 8 bit információt tartalmaz. Ezért arra a következtetésre juthatunk, hogy az egyes memóriaszegmensekben a minimális érték lehet 1 byte vagy nyolc számjegyű bináris szám lehet.
Végül eljutottunk az adatok közvetlen elhelyezésére a számítógépen. Mint már említettük, a processzor először konvertálja az információkat bináris formátumba, majd csak a memóriába helyezi.
A legegyszerűbb opcióval kezdjük, amelyaz egész számok ábrázolása egy számítógépen. A PC-memória nevetségesen kis számú cellát vesz igénybe ehhez a folyamathoz - csak egy. Így az egyik nyílásban a maximum lehet 0 és 11111111 közötti érték. Lefordíthatjuk a maximális számot az írás szokásos formájába.
X = 1 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 = 1 × 28 - 1 = 255.
Most azt látjuk, hogy egy memóriacellában képes0 és 255 között lehet. Ez azonban kizárólag a nem negatív egész számokra vonatkozik. Ha a számítógépnek negatív értéket kell írnia, akkor minden másra megy.
Most nézzük meg, hogy megya számok ábrázolása egy számítógépen, ha negatív. A nullánál kisebb érték elhelyezéséhez két memóriacellát vagy 16 bit információt osztunk ki. Ebben az esetben a 15 megy maga a szám alá, és az első (balra balra) bit a megfelelő jel alatt kerül megadásra.
Ha a szám negatív, akkor az "1" betűt írja, ha pozitív, akkor a "0". A memorizálás megkönnyítése érdekében analógiát rajzolhatunk: ha van jel, akkor tegyünk 1-et, ha nem, akkor semmit (0).
A fennmaradó 15 bit információt a számhoz rendelik.Az előzőhöz hasonlóan legfeljebb tizenöt egységet tehet be ezekbe. Érdemes megjegyezni, hogy a negatív és a pozitív számok írása jelentősen különbözik egymástól.
Annak érdekében, hogy 2 memóriahelyre lehessen helyezniHa nulla értéknél nagyobb vagy azzal egyenlő, akkor az úgynevezett közvetlen kódot kell használni. Ezt a műveletet ugyanúgy hajtják végre, mint amit leírtak, és a maximális érték A = 32766, ha tizedes számrendszert használ. Csak azt szeretném megjegyezni, hogy ebben az esetben a "0" pozitívra utal.
Az egész számok ábrázolása a számítógépes memóriában nemolyan nehéz feladat. Bár negatív értéknél kissé bonyolultabb. A nullánál kisebb szám írásához egy kiegészítő kódot kell használni.
Ennek megszerzéséhez a gép számos kiegészítő műveletet hajt végre.
Adunk egy világos példát.Tegyük fel, hogy X = - 131 számmal rendelkezik. Először kapjuk meg a modulját | X | = 131. Majd fordítunk egy bináris rendszerbe, és 16 cellába írjuk. X = 0000000010000011-et kapunk. Az X = 1111111101111100 megfordítása után. Adjon hozzá "1" -et, és kapja meg az X = 1111111101111101 visszatérési kódot. 16 bites memóriacellába történő íráshoz a minimális szám X = - (215) = - 32767.
Mint látható, a valós számok ábrázolásaA számítógép nem olyan nehéz. A figyelembe vett tartomány azonban nem biztos, hogy a legtöbb művelethez elegendő. Ezért a nagy szám befogadása érdekében a számítógép 4 cellát, vagyis 32 bitet foglal le a memóriából.
A felvétel folyamata egyáltalán nem különbözik a fentiektől. Tehát csak egy sor olyan számot adunk meg, amelyeket ez a típus tárolhat.
Xmax= 2,147,483,647.
Xmin= - 2,147,483,648.
A legtöbb esetben ezek az értékek elegendőek az adatműveletek rögzítéséhez és végrehajtásához.
Представление вещественных чисел в компьютере megvannak előnyei és hátrányai. Egyrészt ez a technika megkönnyíti az egész értékek közötti műveletek végrehajtását, ami nagyban felgyorsítja a processzort. Másrészt ez a tartomány nem elég a közgazdaságtan, a fizika, a számtani és más tudományok legtöbb problémájának megoldásához. Ezért most megvizsgáljuk a szupermennyiségekre vonatkozó következő módszert.
Ez az utolsó dolog, amit tudnia kellszámok ábrázolása egy számítógépen. Mivel a vesszők helyzetének meghatározásában a frakciók írásakor felmerül a probléma, az ilyen számokat a számítógépbe exponenciális formában kell használni.
Bármely szám ábrázolható a következő formában: X = m * pn. Ahol m a szám mantissza, p a számrendszer alapja, és n a szám sorrendje.
A lebegőpontos számok jelölésének egységesítéséhez a következő feltételt kell alkalmazni, amely szerint a mantissa modulnak legalább 1 / n-nek kell lennie, és kevesebbnek kell lennie, mint 1.
Adjunk nekünk a 666,66-os számot. Exponenciális formába állítjuk. Kiderül, hogy X = 0,666666 * 103. P = 10 és n = 3.
Általában 4 vagy 8 bájt (32 vagy 64 bit) van lefoglalva a lebegőpontos értékek tárolására. Az első esetben ezt a rendes pontosság számának, a második esetben a dupla pontosságnak hívják.
A számjegyek tárolására elrendelt 4 bájt közül 1 (8bit) a sorrendre és annak jelére vonatkozóan adnak adatot, és 3 bájt (24 bit) a mantissa és az előjel tárolására vonatkozik, ugyanazon alapelvek szerint, mint az egész számokra. Ezt tudva, egyszerű számításokat végezhetünk.
N = 1111111 maximális értéke2 = 12710. Ennek alapján megkaphatjuk a számítógép memóriájában tárolható szám maximális méretét. X = 2127. Most kiszámolhatjuk a lehető legnagyobb mantissát. 2-del egyenlő23 - 1 ≥ 223 = 2(10 × 2,3) ≥ 10002,3 = 10(3 × 2,3) ≥ 107. Ennek eredményeként hozzávetőleges értéket kaptunk.
Ha most összekapcsoljuk mindkét számítást, akkor olyan értéket kapunk, amelyet veszteség nélkül rögzíthetünk 4 bájt memóriában. Ez egyenlő X = 1,701411 * 10 értékkel38. A fennmaradó számokat eldobták, mivel éppen ez a pontosság teszi lehetővé ezt a rögzítési módszert.
Mivel az összes számítást ütemezett ésaz előző bekezdésben kifejtettek szerint, itt röviden elmondjuk. A kettős pontosságú számokhoz általában a rend és a jele 11 számjeggyel, valamint a mantissa 53 számjegyével van kiosztva.
P = 11111111112 = 102310.
M = 252 -1 = 2(10 * 5,2) = 10005.2 = 1015.6. Kerekítjük, és megkapjuk a X = 2 maximális számot1023 pontossággal "m" -ig.
Reméljük, hogy az egész számok és a valós számok számítógépes ábrázolására vonatkozó információk hasznosak lesznek az Ön számára a képzésben, és legalábbis kissé tisztább lesznek, mint amit általában a tankönyvek írnak.