Regnearternes hierarki
From Wikipedia, the free encyclopedia
Remove ads
Regnearternes hierarki (også kaldet regnearternes rækkefølge[1], operatorpræcedens og operatorrangfølge[2]) er inden for matematikken (aritmetik, algebra) og datalogien,[3] regelsættet der angiver rækkefølgen[4] delberegninger skal udføres i,[5] for at evaluere et givet matematisk udtryk i infiksnotation. F.eks. har multiplikation forrang fremfor addition.
Definition
Regnearternes hierarki og paranteser, som anvendes indenfor matematik, videnskab, teknologi og mange computer programmeringssprog, er her. Den højeste præcedens er øverst:[5][6][7][8][9]
Det betyder at når, i et matematisk udtryk, et underudtryk er mellem to operatorer, skal operatoren, som er højere i regnearternes hierarki - udregnes først.
Remove ads
Eksempler
Eksempel med addition og multiplikation
Det matematiske udtryk:
skal fortolkes som
og ikke fortolkes som
Eksempel med fakultet og multiplikation
Det matematiske udtryk: 2*3!
skal fortolkes som 2*(3!) = 12
og ikke fortolkes som (2*3)! = 720
Remove ads
Specialtilfælde
Unært minustegn
Der er forskellige konventioner vedrørende den unære operator − (fx minus operator). I skreven eller udskreven matematik, bliver udtrykket −32 fortolket som 0 − (32) = − 9.[7][10]
I nogle anvendelser og programmeringssprog, fx Microsoft Excel, PlanMaker (og andre regnearksprogrammer) og programmeringssproget bc, har unære operatorer højere præcedens end binære operatorer, dvs fortegn som fx negativt fortegn har højere præcedens end potensopløftning, så i disse sprog vil −32 blive fortolket som (−3)2 = 9.[11] Dette gælder ikke den binære minus operator −; i fx Microsoft Excel vil formlerne =−2^2
, =-(2)^2
og =0+−2^2
returnere 4, hvorimod formlerne =0−2^2
og =−(2^2)
returnere −4.
Blandet division og multiplikation
- i dette afsnit anvendes det engelske divisionssymbol "÷"
Der kan være flertydighed i anvendelsen af skråstreg symbolet / i udtryk såsom 1/2x.[12] Hvis man omskriver dette udtryk som 1 ÷ 2x og så fortolker divisionssymbolet som visende den multiplikative inverse, fås:
- 1 ÷ 2 × x = 1 × 1/2 × x = 1/2 × x.
Med denne fortolkning 1 ÷ 2x er det lig med (1 ÷ 2)x.[7][13] Men i en del akademisk litteratur, anvendes underforstået multiplikation, som bliver fortolket som havende højere præcedens end division, sådan at 1 ÷ 2x er lig 1 ÷ (2x), ikke (1 ÷ 2)x.
Fx er manuskript indsendelsesinstruktionerne for tidsskriftet Physical Review at (kun underforstået?) multiplikation har højere præcedens end division med en skråstreg,[14] og dette er også konventionen observeret i prominente fysikbøger såsom Course of Theoretical Physics af Landau og Lifshitz - og Feynman Lectures on Physics.[15] [16]
Lommeregner
Nogle lommeregnere respekterer regnearternes hierarki, andre gør ikke.[7]
Programmeringssprog
Nogle programmeringssprog anvender regnearternes hierarki, som er kompatibel med hvad der anvendes i matematik,[17] selvom andre, såsom APL, Smalltalk, Occam and Mary, ikke har operator præcedens regler (i APL er evaluering striks fra højre til venstre; i Smalltalk osv. er det striks venstre til højre).
Yderligere, fordi mange operatorer ikke er associative, er præcedensen indenfor ethvert enkelt niveau sædvanligvis defineret ved at gruppere venstre til højre så at 16/4/4
fortolkes som (16/4)/4 = 1 i stedet for 16/(4/4) = 16; sådanne operatorer bliver måske fejlagtigt kaldet for "venstre associativ". Undtagelser eksisterer; fx, sprog med operatorer som korresponderer til cons operation på lister grupperer dem typisk fra højre til venstre ("højre associativ"), fx i Haskell, 1:2:3:4:[] == 1:(2:(3:(4:[]))) == [1,2,3,4]
.
Skaberen af programmeringssproget C har sagt at præcedens i C (programmeringssprog som låner disse regler fra C, er fx: C++, Perl og PHP), ville være mere formålstjenligt hvis bitwise operatorer flyttes op over sammenligningsoperatorer.[18] Men mange programmører er blevet tilvænt til denne præcedens. Det relative præcedens niveau af operatorer, der findes i mange C-lignende sprog, er som følger:
Remove ads
Se også
- Omvendt polsk notation (algebraisk postfiksnotation)
Bøger
- Carstensen, Jens & Frandsen, Jesper (1990): Obligatorisk matematik. Forlaget Systime, Herning. ISBN 87-7783-630-8
- Holth, Klaus m.fl. (1987): Matematik Grundbog 1. Forlaget Trip, Vejle. ISBN 87-88049-18-3
Referencer
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads