User manual

41
Constante termen
Een term of delen van een term kan/kunnen constant zijn. Deze deeltermen kunnen al
tijdens de compiler –looptijd berekend worden.
Zo wordt b.v.
12 + 123 15
door de compiler samengevat tot
120
Soms moeten termen constant zijn opdat ze geldig zijn. Zie b.v. declarering van array
variabelen.
5.1.3 Datatypes
Waarden hebben altijd een bepaald datatype. De waarden van gehele getallen hebben in
CompactC een 8 of 16 bit breed datatype, getallen met floating point zijn altijd 4 byte lang.
Datatype Voorteken Waardebereik Bit
char
Ja
-128 … +127
8
unsigned char
Nee
0 … 2555 8
8
byte
Nee
0 … 2555 8
8
int
Ja
-32768 … +32767
16
unsigned int
Nee
0 … 65535
16
word
Nee
0 … 65535
16
float
Ja
±
1.175
e
-38 to
±
3.402
e
38
32
Zoals u ziet, zijn de datatypes “unsigned char” en “byte” identiek, net als “unsigned int”
en “word”.
Strings
Er bestaat geen expliciet “String” datatype. Een string is gebaseerd op een character array.
U moet de grootte van de array dusdanig kiezen, dat alle tekens van de string in het
character array passen. Bovendien is er ruimte nodig voor een termineringsteken (decimale
nul), om het einde van de keten aan te geven.
Type –convertering
Bij wiskundige termen gebeurt het zeer vaak dat aparte waarden niet van hetzelfde type zijn.
Zo zijn de datatypes in de volgende term gemengd (a is integer variabele).
a + 5.5
In dit geval wordt a eerst geconverteerd naar het datatype
float
en daarna wordt er 5.5 bij
opgeteld.
Het datatype van het resultaat is eveneens float. Bij de type –convertering gelden de
volgende regels:
Als bij de verbinding van twee 8 bit of 16 bit integere waarden één van beide
datatypes van een voorteken is voorzien (“signed”), dan is ook het resultaat van de