Numeriske funktioner
Dette afsnit indeholder korte beskrivelser af de funktioner, der gælder for flydende værdier eller heltalsværdier.
Funktion | Virkemåde |
---|---|
abs | Returnerer den absolutte værdi af den numeriske funktion. |
bitor, bitand, bitnot | Giver mulighed for boolesk manipulation med bit. |
convert | Konverterer et tal til en anden datatype eller konverterer en anden datatype til et tal. |
err_encode | Konverterer en FileNet P8-fejltupel i tre dele til et enkeltdelsheltal. |
int | Afkorter alt efter decimaltegnet og returnerer heltalsværdien af et numerisk udtryk. |
max | Returnerer den største værdi fra en liste over udtryk af enhver understøttet datatype. |
min | Returnerer den mindste værdi fra en liste over udtryk af enhver understøttet datatype. |
mod | Returnerer resten efter division (modulus). |
numbertostring | Konverterer et numerisk udtryk til et strengudtryk ved hjælp af en angiven maske. |
random | Returnerer et tilfældigt heltal inden for et angivet interval. |
sizeof | Returnerer størrelsen på et array. |
abs
abs (taludtryk)
hvor taludtryk er et udtryk, hvis resultat er af typen integer eller float. Eksempel:abs (Salgspris - Købspris)
bitand, bitor og bitnot
Disse funktioner giver mulighed for boolesk manipulation med bit. Brug dem til at udføre mange former for opgaver, f.eks. maskeringsindstillinger og udtræk af bit. Hver af disse funktioner kan udføre booleske operationer på op til 32 elementer ad gangen.
Hvis du har kendskab til programmeringssproget 'C', fungerer bitand, bitor og bitnot som henholdsvis logisk og (&), logisk eller (|) og logisk ikke (~). Hvis du ikke har kendskab til 'C', kan du betragte tallene som binære værdier (f.eks. bliver 123 til 1111011).
bitand (udtryk1, udtryk2)
bitor (udtryk1, udtryk2)
bitnot (udtryk)
hvor udtryk1 og udtryk2 er 32-bit heltal.bitand
- Hvis begge heltal indeholder et 1 i samme position, indeholder resultatet også et 1 på den pågældende position.
- Hvis begge heltal indeholder et 0 i samme position, indeholder resultatet også et 0 på den pågældende position.
- Hvis et af heltallene indeholder et 1, og det andet heltal indeholder et 0 på samme position, indeholder resultatet et 0 på den pågældende position.
bitand
(00000000000000000000000001111011,
00000000000000000000000011110000)
giver resultatet:
00000000000000000000000001110000
bitor
- Hvis et af heltallene indeholder et 1 i samme position, indeholder resultatet også et 1 på den pågældende position.
- Hvis begge heltal indeholder et 0 i samme position, indeholder resultatet også et 0 på den pågældende position.
bitor
(00000000000000000000000001111011,
00000000000000000000000011110000)
giver resultatet:
00000000000000000000000011111011
bitnot
Funktionen bitnot "ikke'r" et heltal. Resultatet af denne analyse bit for bit er et nyt heltal. For hver position indeholder det nye heltal den modsatte bitværdi-betydning. Så hvis inputheltallet f.eks. indeholder et 1 på en bestemt position, indeholder det nye heltal et 0 på den samme position.
bitnot
(00000000000000000000000001111011
giver resultatet:
11111111111111111111111110000100
int
Denne funktion beregner heltalsværdien af et flydende udtryk ved at afkorte alt efter decimaltegnet. De flydende værdier 6,2 og 6,8 konverteres f.eks. til heltalsværdien 6. Fortegnet ændres ikke.
int (taludtryk)
hvor taludtryk er et udtryk, hvis resultat er af typen float. Eksempel:int (365 / 7)
mod
Denne funktion returnerer resten efter division (modulus). Bemærk, at hvis du prøver at dividere en værdi med nul, opstår der en runtimefejl.
mod (tal1, tal2)
hvor tal1 og tal2 er variabler af typen float eller integer, der kan indeholde negative værdier.mod (AntalDage, 7)
Hvis tal2 > 0,
0 <= mod (tal1, tal2) < num2
Hvis tal2 < 0,
tal2 < mod (tal1, tal2) <= 0
random
Nogle applikationer har brug for at generere et tilfældigt heltal, f.eks. som en metode til at producere tilfældige eksempler. Denne funktion returnerer et tilfældigt heltal inden for et angivet interval. Den kræver et heltal som parameter for at bestemme intervallet.
random (tal)
hvor tal er et heltal fra 2 til 32768 (begge inklusive). Intervallet ligger mellem 0 og tal - 1. Hvis tal i ovenstående eksempel er 23, vil det tilfældige heltal ligge mellem 0 og 22. err_encode
Denne funktion konverterer en FileNet P8-fejltupel i tre dele til en heltalsværdi, som du kan sammenligne med en resultatkode, der returneres af et kald til et WAL-indgangspunkt (WorkFlo Application Libraries). WAL returnerer resultatkoder, når der opstår undtagelsesbetingelser under normal behandling (f.eks. filslut i enkelt databehandling).
Den primære anvendelse af err_encode er at basere efterfølgende behandling af et arbejdselement på de resultater, som returneres af en operation, der kalder WAL. Typisk efterfølges en sådan operation af en systeminstruktion i en gren. Når grenen udføres, følger arbejdselementet den behandlingssti, som er bestemt af den resultatkode, der er returneret af den tidligere operation. Brug f.eks. funktionen err_code i grendefinitionen til at angive, at hvis <returkode> = err_encode (80, 0, 2), skal arbejdselementet følge én behandlingssti, mens det skal følge en anden behandlingssti, hvis <returkode> = err_encode (80, 0, 5).
err_encode (mod_num, funk_num, fejl_num)
hvor:Parameter | Beskrivelse |
---|---|
mod_num | Den første del af resultatkoden. Det er et heltalsudtryk (i intervallet fra 0-255), der angiver, hvilken service, hvilket bibliotek eller hvilken applikation der er kilde til fejlen. |
funk_num | Den anden del af resultatkoden. Det er et heltalsudtryk (i intervallet fra 0-255), der angiver, hvilken funktion eller hvilket modul fejlen kommer fra, eller den kategori, som fejlen tilhører. |
fejl_num | Den tredje del af resultatkoden. Det er et heltalsudtryk (i intervallet fra 0-65535), der angiver fejlnummeret. |