Page 20 - Enterpress Magazin - 2021. 4-6.
P. 20

20. oldal                                                                           2021. január – június



                         IS-FORTH - 5. rész




                                   Intelligent Software - 1985.


                   rendszerbővítő, FORTH programozási nyelv






        3. Adattípusok
                                                              (a bináris ábrázolás: 1 0000 0000 0000 0000).

        3.1. Előjeles és előjel nélküli értékek                   65537 = 1

        Etessük meg az interpreterrel a következő parancssort:  (a bináris ábrázolás: 1 0000 0000 0000 0001) stb. Hason-
                                                              lóképpen a
            65535
                                                                  35537 30000 + .
        A kapott válasz
                                                              hatására is 1 a válasz. A FORTH a túlcsordulást nem kezeli,
            -1                                                magunknak kell rá figyelni.

        Pedig  mi  nem  -1-et  tettünk  a  veremre.  Vagy  mégis?  A  3.2. A duplaszavak
        65535 16 biten ábrázolva:
                                                              Ha egy szám nem fér el egy szóban, akkor ábrázolhatjuk
            1111 1111 1111 1111                               kettőben, azaz: egy 32 bites duplaszóban. A duplaszó a
                                                              vermen úgy helyezkedik el, hogy a magasabb helyértékű
        A szó a vermen talált számot előjelesnek tekinti, azaz az  szava (az „eleje”) van felül. Tehát pl. az 1 0 sorozattal egy 1
        első bitet előjelbitnek, és ha az 1, akkor a számot negatív-  értékű duplaszót tettünk a verembe.
        nak. A negatív számokat úgy szokás ábrázolni, hogy a szá-  Erről a
        mot és ellentettjét ábrázoló két bináris sorozat összege 0
        legyen. Ez 16 biten úgy megy, hogy a -1-et és 1-et jelentő      D. ( d - - - - )
        szám összege 2^16 azaz:
                                                              szó segítségével győződhetünk meg; ez kiírja a képernyő-
            1 0000 0000 0000 0000                             re a duplaszót, amely a verem két felső eleméből áll:

        (a magas helyértékű 1 már kicsordul a tizenhat bitből, ma-      1 0 D. = 1
        radnak a 0 jegyek). És valóban:                           -1 -1 D. = -1
                                                                  -1 0 D. = 65535
        1111 1111 1111 1111
        +                                                     A kiíratott duplaszavak binárisan a következő ábrán látha-
        1                                                     tók.

        1 0000 0000 0000 0000

        vagy, hogy az otthonosabb tízes számrendszernél marad-
        junk:

            65535 + 1 = 65536= 2^16.

        Mi lesz a túl nagy számokkal?
        Látjuk, hogy 16 biten 2^16-1 = 65535-nél nagyobb szám
        nem létezhet. A nagyobb értékek első jegyei egyszerűen  A D. szó nevében és a veremhatás jelölésében a d betű a
        „lecsordulnak”, elvesznek:                            doubleword angol szó rövidítése, bár akár a magyar „dup-
                                                              laszó” változaté is lehetne. Kevésbé körmönfont módon is
            65536 = 0                                         lehet a verembe duplaszavakat csalni. Ugyanis:
   15   16   17   18   19   20   21   22   23   24