Getal-variabelen

From Apache OpenOffice Wiki
Jump to: navigation, search
Book.png


Apache OpenOffice BASIC ondersteunt vijf basistypen voor het verwerken van getallen:

  • Integer
  • Long Integer
  • Single
  • Double
  • Currency (valuta)

Integer-variabelen

Integer-variabelen kunnen elk geheel getal tussen -32768 en 32767 bevatten. Een integer-variabele kan twee bytes geheugen in beslag nemen. Het symbool voor typedeclaratie voor een integer variabele is %. Berekeningen die integer-variabelen gebruiken zijn zeer snel en in het bijzonder handig bij lus-tellingen. Als u een "zwevende komma"-getal toewijst aan een variabele Integer, wordt het getal afgerond naar boven of beneden naar het volgende gehele getal.

Voorbeeld voor declaraties van variabelen Integer:

Dim Variabele As Integer
Dim Variabele%

Long Integer-variabelen

Long integer-variabelen kunnen elk geheel getal tussen –2147483648 en 2147483647 bevatten. Een long integer-variabele kan tot vier bytes geheugen in beslag nemen. Het symbool voor typedeclaratie van een long integer is &. Berekeningen die long integer-variabelen gebruiken zijn zeer snel en in het bijzonder handig bij lus-tellingen. Als u een "zwevende komma"-getal toewijst aan een variabele Long Integer, wordt het getal afgerond naar boven of beneden naar het volgende gehele getal.

Voorbeeld voor declaraties van variabelen Long Integer:

Dim Variabele as Long
Dim Variabele&

Single-variabelen

Single-variabelen kunnen elk positief of negatief "zwevende komma"-getal tussen 3.402823 x 1038 en 1.401298 x 10-45 bevatten. Een variabele Single kan tot vier bytes geheugen in beslag nemen. Het symbool voor typedeclaratie van een variabele Single is !.

Oorspronkelijk werden variabelen Single gebruikt om de computertijd te reduceren die vereist was voor de meer precieze variabelen Double. Echter, deze snelheidsoverwegingen zijn niet langer van toepassing, wat de noodzaak voor het gebruik van variabelen Single beperkt.

Voorbeeld voor declaraties van variabelen Single:

Dim Variabele as Single
Dim Variabele!

Double-variabelen

Double-variabelen kunnen elk positief of negatief "zwevende komma"-getal tussen 1.79769313486232 x 10308 en 4.94065645841247 x 10-324 bevatten. Een variabele Double kan tot acht bytes geheugen in beslag nemen. Double-variabelen zijn geschikt voor precieze berekeningen. Het symbool voor typedeclaratie is #.

Voorbeeld voor declaraties van variabelen Double:

Dim Variabele As Double
Dim Variabele#

Currency-variabelen

Currency-variabelen verschillen van de andere types variabelen door de manier waarop zij waarden verwerken. Het decimale punt staat vast en wordt gevolgd door vier decimale plaatsen. De variabele kan tot 15 getallen bevatten vóór de decimale punt. Een variabele Currency kan elke waarde bevatten tussen -922337203685477.5808 en +922337203685477.5807 en neemt tot acht bytes geheugen in beslag. Het symbool voor typedeclaratie van een valuta variabele is @.

Currency-variabelen zijn meestal bedoeld voor zakelijke berekeningen die leiden tot onvoorziene afrondingsfouten ten gevolge van het gebruik van "zwevende komma"-getallen

Voorbeeld voor declaraties van variabelen Currency:

Dim Variabele As Currency
Dim Variabele@
Documentation caution.png De afhandeling van het BASIC-type Currency is niet betrouwbaar. Issue 31001 Issue 54049 Issue 91121 Issue 107277 zijn nog steeds niet gecorrigeerd in Apache OpenOffice versie 4.1.x

Specificatie van expliciete getallen

Getallen kunnen op verschillende manieren worden weergegeven, bijvoorbeeld, in decimale opmaak of in wetenschappelijke notatie, of zelfs met een andere basis dan het decimale systeem. De volgende regels zijn van toepassing op numerieke tekens in Apache OpenOffice BASIC:

Gehele getallen

De eenvoudigste methode is om te werken met gehele getallen. Zij worden in de brontekst vermeld zonder een punt als scheidingsteken voor duizendtallen:

Dim A As Integer
Dim B As Double
 
A = 1210
B = 2438

De getallen kunnen worden voorafgegaan door zowel een plus (+) als minus (-) teken (met of zonder een spatie er tussen):

Dim A As Integer
Dim B As Double
 
A = + 121
B = - 243

Decimale getallen

Als u een decimaal getal typt, gebruik dan een punt (.) als de decimale punt. Deze regel verzekert u er van dat de brontekst kan worden overgedragen van het ene land naar het andere, zonder conversie.

Dim A As Integer
Dim B As Integer
Dim C As Double
 
A = 1223.53      ' is afgerond
B = - 23446.46   ' is afgerond
C = + 3532.76323

U kunt ook plus (+) of minus (-) tekens gebruiken als voorvoegsels voor decimale getallen (wederom met of zonder spaties).

Als een decimaal getal is toegewezen aan een variabele Integer rondt Apache OpenOffice BASIC het getal naar boven of beneden af.

Exponentiële schrijfstijl

Apache OpenOffice BASIC staat toe dat getallen worden gespecificeerd in de exponentiële schrijfstijl, u mag, bijvoorbeeld, 1.5e-10 schrijven voor het getal 1.5 x 10-10 (0.00000000015). De letter "e" mag een hoofd- of kleine letter zijn, met of zonder een plus teken (+) als een prefix.

Hier zijn een aantal correcte en onjuiste voorbeelden van getallen in exponentiële opmaak:

Dim A As Double
 
A = 1.43E2    ' Correct
A = + 1.43E2  ' Correct (spatie tussen plus en basisgetal)
A = - 1.43E2  ' Correct (spatie tussen minus en basisgetal)
A = 1.43E-2   ' Correct (negatieve exponent)
A = 1.43E -2  ' Onjuist (spaties niet toegestaan in het getal)
A = 1,43E-2   ' Onjuist (komma's niet toegestaan als decimale punten)
A = 1.43E2.2  ' Onjuist (exponent moet een geheel getal zijn)

Merk op dat in het eerste en derde foutieve voorbeeld geen foutmelding wordt gegenereerd hoewel de variabelen foutieve waarden weergeven. De uitdrukking

 A = 1.43E -2

wordt geïnterpreteerd als 1.43 minus 2, wat overeenkomt met de waarde –0.57. Echter, de waarde 1.43 x 10-2 (overeenkomend met 0.0143) was de beoogde waarde. Met de waarde

 A = 1.43E2.2

negeert Apache OpenOffice BASIC het gedeelte van de exponent na de decimale punt en interpreteert de uitdrukking als

 A = 1.43E2

Hexadecimale waarden

In het hexadecimale systeem (basis 16 systeem), komt een 2-cijferig getal overeen met precies één byte. Dit staat toe dat getallen worden verwerkt op een manier die meer past bij de machine-architectuur. In het hexadecimale systeem worden de getallen 0 tot en met 9 en de letters A tot en met F gebruikt als getallen. Een A staat voor het decimale getal 10, terwijl de letter F het decimale getal 15 vertegenwoordigt. Apache OpenOffice BASIC laat u gehele hexadecimale waarde-getallen gebruiken, zolang ze worden voorafgegaan door &H.

Dim A As Long
A = &HFF ' Hexadecimale waarde FF, komt overeen met de decimale waarde 255
A = &H10 ' Hexadecimale waarde 10, komt overeen met de decimale waarde 16

Octale waarden

Apache OpenOffice BASIC verstaat ook het octale systeem (basis 8 systeem), dat de getallen 0 tot en met 7 gebruikt. U moet gehele getallen gebruiken die worden voorafgegaan door &O.

Dim A As Long
A = &O77 ' Octale waarde 77, komt overeen met de decimale waarde 63
A = &O10 ' Octale waarde 10, komt overeen met de decimale waarde 8


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools