nästa upp förra innehåll
Nästa: Väljare till kompilatorn Upp: Användarhandledning för Pascal på Förra: Initiering av variabler

Specialtecken

I standardpascal kan man använda teckenkombinationerna (. och .) synonymt med [ och ]. I Solarispascal kan man bara använda [ och ] om man inte tar med väljaren -s vid kompileringen.

Solarispascal förstår bland annat följande symboler som inte ingår i standardpascal:

~
Unär bitvis ICKE-operator. Byter nollor mot ettor och vice versa i den binära representationen av ett tal. Exempel: ~ 4
&
Binär bitvis OCH-operator. Exempel: 4 & 5
!
Binär bitvis ELLER-operator. Exempel: 4 ! 3
#
1.
Sätts före include. Med en rad av typen
#include 'diverse.h'
får man samma effekt som om innehållet i den angivna filen stod på den platsen. Detta kan vara praktiskt när man vill ha samma definitioner och deklarationer i flera program, se avsnitt 14. Tecknet # måste komma först på raden. Man får alltså inte göra någon indragning av en #include-sats.
2.
Specificerar ett heltal i en annan bas än 10. Basen kommer först följd av # och värdet. Exempel: p:=2#10110; (*binärt*). Med stora baser får man använda engelska bokstäver i alfabetisk ordning: p:=16#3A7F; (*hexadecimalt*). Basen får inte vara större än 36, för då räcker inte siffrorna och bokstäverna till.

Observera hur datorer (i regel) lagrar negativa tal. Datorn kodar tal binärt i en byte på det här sättet: Först kommer naturliga tal $0,1,2,\ldots$ lagrade på vanligt sätt, d v s som $0000\ 0000,
 0000\ 0001, 0000\ 0010,\ldots$ Så håller det på ända till talet $127 = (0111\ 1111)_{2}$. Därefter hoppar man ner till de allra lägsta negativa talen, $-128,-127,-126,\ldots,-1$ som i datorn motsvaras av $1000\ 0000$, $1000\ 0001$, $1000\ 0010$, $\ldots$, $1111\ 1111$. Vitsen med det här är att addition med ett negativt tal kan göras direkt utan omvandling. Exempel: 103 + (-77) = 26. I datorn motsvaras 103 av 0110 0111 och -77 av 1011 0011. Adderar man talen får man summan 10001 1010 som ju har nio siffror! På grund av datorns arkitektur försvinner helt enkelt den första siffran och återstoden, 0001 1010 blir just 26 decimalt.


nästa upp förra innehåll
Nästa: Väljare till kompilatorn Upp: Användarhandledning för Pascal på Förra: Initiering av variabler

Viggo Kann
Fri Aug 7 00:55:14 MET DST 1998