Aðgerð (forritun)
Aðgerð í forritun er þær reikniaðgerðir sem hægt er að framkvæma í forritun, sem eru þá m.a. heiltöluaðgerðir, kommutöluaðgerðir og rökaðgerðir.
Heiltöluaðgerðir
breytaHeiltölur(integer) eru skilgreindar í forritunarmálum sem allar heilar tölur á ákveðnu bili, það getur verið misjafnt eftir því hvaða forritunarmál er skoðað hvað sú skilgreining er og flest forritunarmál bjóða upp á fleiri en eina skilgreiningu. Hér í töflunni fyrir neðan eru nokkrar algengar skilgreiningar á heiltölum.
Bitar | Nafn | Stærð | Notað |
---|---|---|---|
8 | byte, octet | Signed: −128 til +127 Unsigned: 0 til +255 |
ASCII stafasettið, C int8_t, Java byte |
16 | halfword, word | Signed: −32,768 til +32,767 Unsigned: 0 til +65,535 |
UCS-2 stafasettið, C int16_t, Java char, Java short |
32 | word, doubleword, longword | Signed: −2,147,483,648 til +2,147,483,647 Unsigned: 0 til +4,294,967,295 |
UCS-4 stafasettið, C int32_t, Java int |
64 | doubleword, longword, quadword | Signed: −9,223,372,036,854,775,808 til +9,223,372,036,854,775,807 Unsigned: 0 til +18,446,744,073,709,551,615 |
C int64_t, Java long |
Helstu aðgerðir á heiltölum eru plús mínus margföldun og deiling en til eru aðrar aðgerðir eins og t.d. mod eða modular.
Kommutöluaðgerðir
breytaIEEE Staðallinn fyrir kommutölur(IEEE 754)er algengasti staðallinn í dag sem notaður er í kommutöluútreikningi. Hann tiltekur fjórar aðferðir til að skilgreina kommutölur þ.e. single-precision (32-bita), double-precision (64-bita), single-extended precision (≥ 43-bita, er ekki mikið notað) og double-extended precision (≥ 79-bita, venjulega útfært með 80 bitum). Aðeins 32-bita útfærslan er skylda að útfæra samkvæmt staðlinum, hinar aðferðirnar eru valkvæðar.
Stærð 32 bita númera er +/- 3.4 * 1038 Stærð 64 bita númera er +/- 1.8 * 10308
Helstu aðgerðir á kommuölum eru plús mínus margföldun og deiling.
Helstu rökaðgerðir í forritun eru AND, OR, NOT og XOR - Helsti tilgangur rökaðgerðanna í forritun er að fá fram breytilegt flæði í forritum með t.d. IF og WHEN skipunum.
AND - og
breytaAND er notað til að bera saman tvær segðir og ef báðar eru sannar þá er niðurstaðan sönn, annars er hún ósönn.
Dæmi:
(1=1 and 2=2) = true
true and true verður þá true
(1=2 and 2=2) = false
false and true verður þá false
Í forritunarmálum er ýmist notast við and(Basic) eða &&(C++) til að tákna AND skilyrði.
Í C# er boðið upp á tvær mismunandi útgáfur af AND sem eru þá & og && þær virka eins nema að einu leyti þ.e. að seinni segðin er aldrei keyrð í && tilvikinu ef fyrri segðin er ósönn.
Dæmi: Ef við erum með tvö föll sem skila okkur bool gildinu false, fyrra fallið prentar út "A tókst" og seinna fallið prentar út "B tókst" þá fáum við fram eftirfarandi niðurstöður..
FallA() && FallB() skilar okkur A tókst og false FallA() & FallB() skilar okkur A tókst, B tókst og false
OR - eða
breytaOR er notað til að bera saman tvær segðir og ef báðar eða önnur þeirra er sönn þá er niðurstaðan sönn, en ef báðar eru ósannar þá er niðurstaðan ósönn.
Dæmi:
(1=1 or 2=2) = true
true and true verður þá true
(1=2 or 2=2) = true
false or true verður þá true
(1=1 or 2=1) = true
false or true verður þá true
(1=2 or 2=1) = false
false or false verður þá false
Í forritunarmálum er ýmist notast við or(Basic) eða ||(C++) til að tákna OR skilyrði.
Í C# er boðið upp á tvær mismunandi útgáfur af OR sem eru þá | og || þær virka eins nema að einu leyti þ.e. að seinni segðin er aldrei keyrð í || tilvikinu ef fyrri segðin er sönn.
Dæmi: Ef við erum með tvö föll sem skila okkur bool gildinu true, fyrra fallið prentar út "A tókst" og seinna fallið prentar út "B tókst" þá fáum við fram eftirfarandi niðurstöður..
FallA() || FallB() skilar okkur A tókst og false FallA() | FallB() skilar okkur A tókst, B tókst og true
NOT - ekki
breytaNOT er notað til að snúa við sanngildi segðar.
Dæmi:
not(1=1) = false
not(true) verður þá false
not(1=2) = true
not(false) verður þá true
Í forritunarmálum er ýmist notast við not(Basic) eða !(C++) til að tákna NOT aðgerð.
XOR - annaðhvort eða (en ekki hvort tveggja)
breytaXOR er notað til að bera saman tvær segðir og ef önnur þeirra er sönn þá er niðurstaðan sönn, en ef báðar eru sannar eða ósannar þá er niðurstaðan ósönn.
Dæmi:
(1=1 xor 2=2) = false
true xor true verður þá false
(1=2 xor 2=2) = true
false xor true verður þá true
(1=1 xor 2=1) = true
false xor true verður þá true
(1=2 xor 2=1) = false
false xor false verður þá false
Í forritunarmálum er ýmist notast við xor(Basic) eða ^(C++) til að tákna XOR skilyrði.