Linux / Unix Amar: expr

Magaca

Expr - Qiimee ereyga

Muujinta

Dibedda ? Arg arg ... ?

Kala hadal argyada (ku darida boosaska kala duwan ee u dhexeeya iyaga), waxay qiimeeyaan natiijada sida muujinta Tcl, waxayna soo celisaa qiimaha. Hawl-wadayaashu waxay u fasaxaan tixraaca Tcl waa qayb hoos-u-shaqeeyayaasha ah oo loo fasiray c-yada C, waxayna leeyihiin macnaha iyo mudnaanta la mid ah kuwa ka shaqeeya C. Hadalka wuxuu had iyo jeer soo saaraa natiijooyin tirooyin ah (qiimaha dareenka ama qiimaha dhibcaha). Tusaale ahaan, muujinta

soo saar 8.2 + 6

wuxuu qiimeeyaa 14.2. Calaamadaha Tcl waxay ku kala duwan yihiin ereyada C ee ku saabsan habka loo shaqeeyo. Sidoo kale, ereyada Tcl waxay taageertaa shaqeeyayaasha aan tiradu ahayn iyo isbarbardhigga gawaarida.

Hawlaha

Tilmaamaha Tcl wuxuu ka kooban yahay isku-dar ah hawlwadeennada, hawlwadeennada, iyo kaararka. Meel Caddaan ah ayaa loo isticmaali karaa inta u dhexeysa hawlaha iyo hawlwadeennada iyo kaararka; waxaa la iska indhatiray tilmaamaha muujinta. Meeshii suurtogalka ah, shaqeeyayaasha waxaa loo turjumay qiyamka dareenka. Qiimaha xisaabeedka waxaa lagu qeexi karaa tobanle (kiis caadi ah), tobanlaha (haddii astaamaha ugu horreeya ee ficilku yahay 0 ), ama laba-iyo-toban (haddii labadii actar ee ugu horreeya ee hawlgalku yihiin 0x ). Haddii hawlqabadku uusan haysan mid ka mid ah qaababka ugu sarreysa ee kor ku xusan, markaa waxaa loola dhaqmayaa sidii lambarka dhibcaha leh haddii ay suurtagal tahay. Nambarada dhibcaha ah waxaa lagu tilmaami karaa mid ka mid ah qaababka ay aqbali karaan Caqiidada ANSI-ga ah (marka laga reebo f , F , l , iyo L sonkorta lama siin doono inta badan qalabyada). Tusaale ahaan, dhammaan kuwan soo socda ayaa ah nambarada dhibcaha leh: 2.1, 3, 6e4, 7.91e + 16. Haddii aan macquul ahayn turjubaan, markaa hawlgabku waxa uu ka tagayaa sidii xarig (iyo kaliya xaddidan shaqaale oo kooban ayaa loo isticmaali karaa).

Hawlwadeennada waxaa lagu tilmaami karaa mid ka mid ah siyaabahan soo socda:

[1]

Qiimaha miisaaman, mid isku mid ah ama dushooda.

[2]

Iyadoo loo yaqaano Tcl, iyada oo la adeegsanayo heerka $ qiimeynta. Qiimaha doorsoomaha ayaa loo isticmaali doonaa sida hawlgalka.

[3]

Sida xarig ah oo ku dhegsan labada tixraac. Dhexdhexaadiyaha xayeysiiska wuxuu sameyn doonaa gadaal, isbeddel, iyo amar ku amraya macluumaadka u dhexeeya odhaahyada, oo isticmaal qiimaha soo baxa sida hawlgal

[4]

Sida xarig oo ku dhegan jilbaha. Tilmaamaha udhaxeeya faashadda furan iyo isugeyn u dhiganta ayaa loo isticmaali doonaa sida hawlgalka iyada oo aan wax bedel ah.

[5]

Sida taliyaha Tcl ee kuxirsan garabka. Amarku waa la fulin doonaa, natiijadana waxaa loo isticmaali doonaa hawlgalkan.

[6]

Sida hawsha xisaabeed ee doodahoodu leeyihiin mid ka mid ah foomamka kor ku xusan ee hawlaha, sida dembiga ($ x) . Hoos ka eeg liiska hawlaha la qeexay.

Meeshii beddelaadku ka sarreeyaan (tusaale, xarigaha laga soo xigtay), waxaa lagu sameeyaa tilmaamaha muujinta. Si kastaba ha noqotee, lakabka dheeriga ah ee beddelka hore ayaa laga yaabaa inuu fuliyo qadka taliyaha ka hor inta ka horeysa processor-yada loo yaqaan. Sida hoos ku xusan, badanaa waxa ugu wanaagsan in lagu soo rogo kalmadaha ku jira jaangooyooyinka si looga hortago amarka kala-saaraha in uu wax ka bedelo waxyaalaha ku jira.

Tusaalooyinka qaarkood ee tusaalooyinka sahlan, u maleyn in qiimaha uu leeyahay qiimaha 3 iyo qiimaha b uu leeyahay qiimaha 6. Kadib amarka dhinaca dhinaca bidix ee mid kasta oo ka mid ah xariiqyada hoos ku qoran waxay soo saarayaan qiimaha dhinaca midig ee xariiqa:

ku dhufo 3.1 + $ a6.1 Tusaale 2 + "$ a. $ b" 5.6 gaarsii 4 * [qiyaasta "6 2"] 8 expr {{one word} <"word $ a"} 0

Hawlwadeennada

Hawl-wadayaasha saxda ah ayaa hoos ku taxan, oo loo kala-gooyey nidaamka hoos-u-dhaca ee horay loo yareeyey:

- + ~!

Unary oo ah unus, unary plus iyo, nacas ah MA AH, macquul maaha. Mid ka mid ah shaqaalahaan waxaa laga yaabaa in lagu dabaqo xarumaha xarigga, iyo in yar-yaqaanka MAYA waxaa laga yaabaa in lagu dabaqo muraayadaha.

* /%

Isku-dhafan, kala qaybso, inta ka hartay. Mid ka mid ah shaqaalahaan waxaa laga yaabaa in loo adeegsado kuwa xarigga gundhigga ah, inta ka dhimanna waxaa loo isticmaali karaa oo keliya kuwa miisaanka. Inta soo hartay waxa ay had iyo jeer leeyihiin calaamad la mid ah qaybta iyo qiimaha shakhsigu ka yar yahay qaybiyaha.

+ -

Isu-geeyaan oo kala-gooyaan. Waafaqsan hawlwadeennada tirooyinka leh.

<< >>

Isbedel xagga bidix iyo midig. Ku-oolli karo oo kaliya hawl-qabadyada kaliya. Wareegga saxda ah wuxuu had iyo jeer dacaayaa calaamadda saxda ah.

<> <=> =

Boolean ka yar, ka weyn, ka yar ama ka siman, oo ka weyn ama ka siman. Hawlwadeen kasta wuxuu soo saaraa 1 haddii xaaladu run tahay, 0 haddii kale. Hawlwadeenada waxaa laga yaabaa in lagu dabaqo xarriiqyada iyo sidoo kale shaqaale tirooyin ah, taas oo marka la barbardhigo isbarbardhigga sarkaalka.

==! =

Boolean oo siman oo aan la mid ahayn. Hawlwadeen kasta wuxuu soo saaraa natiijo eber / mid ah. Waafaqsan dhammaan noocyada waxqabadka.

&

XAQIIQO IYO. Ku-oolli karo oo kaliya hawl-qabadyada kaliya.

^

Gaar ah oo khaas u ah AMA. Ku-oolli karo oo kaliya hawl-qabadyada kaliya.

|

Xitaa xigmadda AMA. Ku-oolli karo oo kaliya hawl-qabadyada kaliya.

&&

IYO caan ah. Waxay soo saartaa 1 natiijo ah haddii labadaba shaqaaluhu aysan ahayn eber, 0 haddii kale. Waafaqsan laynka booliska iyo lambarrada (dareenka ama dheelitirka) hawlgalada oo kaliya.

||

Maqal Maqal ah. Wuxuu soo saaraa 0 natiijo ah haddii labada shaqaale eber yihiin, 1 kale. Waafaqsan laynka booliska iyo lambarrada (dareenka ama dheelitirka) hawlgalada oo kaliya.

x ? y : z

Haddii-markaas-kale, sida ku jirta C. Haddii x qiimeeyo aan lahayn eber, markaas natiijadu waa qiimaha y . Haddii kale, natiijadu waa qiimaha z . Hawlaha x waa inay lahaadaan qiime tiran.

Eeg Buugga C ee faahfaahin dheeraad ah oo ku saabsan natiijooyinka soo saaray qof kasta oo ka shaqeeya. Dhammaan kooxaha ka shaqeeya labada is-dhex-dhex- dhexaad ah ee isla heer sare ah. Tusaale ahaan, amarka

soo saar 4 * 2 <7

soo celiyo 0.

& & , || , iyo:? wadayaasha waxay leeyihiin 'qiimeynta cilladda', sida C, taas oo macnaheedu yahay in hawlwadeennada aan la qiimeeynin haddii aysan loo baahneyn si loo go'aamiyo natiijada. Tusaale ahaan, amarka

Saaro {$ v? [a]: [b]}

mid ka mid ah [a] ama [b] ayaa dhab ahaan lagu qiimeyn doonaa, iyadoo ku xiran qiimaha $ v . Si kastaba ha ahaatee, ogow, in tani ay run tahay kaliya haddii ay muujinayso dhammaantiis oo ku dhegan shabaqa; haddii kale, dhajiye Tcl ayaa qiimeyn doona [a] iyo [b] ka hor inta aan la soo dirin amarka sirta ah .

Hawlaha Xisaabta

Tcl waxay taageertaa shaqooyinka xisaabeed ee soo socda:

maqaarka cosh sqrt acos labajibbre gaaban 10 srand asin foosto qashin taan atan2 riwaayad fiin

abs ( arg )

Waxay soo celisaa qiimaha rasmiga ah ee arg . Arg waxaa laga yaabaa inay noqoto mid isku mid ah ama dhibco, iyo natiijada ayaa lagu soo celiyaa isla foomka.

acos ( arg )

Waxay soo celisaa xayndaabkii argagaxa , oo u dhexeeyaa [0, pi] radians. Argagaxu waa inuu ku jiraa xadka [-1,1].

asin ( arg )

Waxay soo celisaa salka argagaxa argagaxa , oo ah inta u dhaxaysa [-pi / 2, pi / 2] radiyaha. Argagaxu waa inuu ku jiraa xadka [-1,1].

atan ( arg )

Waxay soo celisaa arjiga argagaxa leh , ee ku yaala [-pi / 2, pi / 2] radiyaha.

atan2 ( x, y )

Wuxuu soo celiyaa naxashka y / x , ee kala duwan [-pi, pi] radiyeyaasha. x iyo y labadaba labadoodaba ma noqon karaan 0.

ceil ( arg )

Waxay soo celisaa qiimaha ugu hooseeya ee aan ka yareyn arg .

cos ( arg )

Waxay soo celisaa kicinta argagaxa , ee lagu qiyaaso radiyamyada.

cosh ( arg )

Waxay soo celisaa kiniinada hyperbolic arg . Haddii natiijadu ay sababto qulqulka, khalad ayaa la soo celiyaa.

laba ( arg )

Haddii argfigu yahay qiimo daal leh, wuxuu ku soo noqdaa arg , haddii kale wuxuu u badiyaa argagax oo soo celiyaa qiimaha bedelay.

exp ( arg )

Waxay soo celisaa qadarka guud ee arg , oo lagu qeexay e * arg . Haddii natiijadu ay sababto qulqulka, khalad ayaa la soo celiyaa.

dabaqa ( arg )

Waxay soo celisaa qiimaha ugu wayn ee aan ka weyneyn arg .

fmod ( x, y )

Dib u soo celiyaa inta ka dhiman ee sababa qaybta x ee y . Haddii y uu yahay 0, qalad ayaa la soo celiyaa.

hypot ( x, y )

Xisaabi dhererka hypotenuse ee saddex-xagal midig xagal ( x * x + y * y ).

int ( arg )

Haddii argfigu yahay qiime isku mid ah, waxay ku soo noqotaa arg , haddii kale waxay u badashaa gawaarida si ay ugu dhejiyaan oo ay ku soo celiyaan qiimaha bedelka ah.

log ( arg )

Wuxuu soo celiyaa qoraalka dabiiciga ah ee argagixisada . Arg waa in ay ahaato mid fiican.

log10 ( arg )

Waxay soo celisaa saldhigga 10 ee logarithm of arg . Arg waa in ay ahaato mid fiican.

xabbo ( x, y )

Xisaabi qiimaha x ee kor loo qaado awoodda. Haddii x uu yahay mid xun, waa in ay noqotaa qiime hoose.

rand ()

Waxay soo celisaa nambarka dhibcaha leh eber eber ka yar hal ama, marka la eego xisaabta, xadka [0,1]. Farshaxani wuxuu ka yimaadaa saacadda gudaha mashiinka ama waxaa laga yaabaa in la hagaajiyo bukaanka shaqada.

wareega ( arg )

Haddii argfigu yahay qiime isku mid ah, waxay ku soo noqotaa arg , haddii kale waxay u badashaa gawaarida oo isku dhafan oo soo celiya qiimaha bedelay.

dembi ( arg )

Wuxuu soo celiyaa sarreynta argagaxa , oo lagu qiyaaso radiyanka.

sinh ( arg )

Waxay soo celisaa xuubka hyperbolic arg . Haddii natiijadu ay sababto qulqulka, khalad ayaa la soo celiyaa.

sqrt ( arg )

Waxay soo celisaa asalka qolka labka ah ee arg . Argigu waa inuu noqdaa mid aan fiicneyn.

srand ( arg )

Argagaxa , waa inuu noqdaa mid jibbaar ah, waxaa loo isticmaalaa in dib loo bilaabo abuurka loogu talagalay generator lambar ah. Waxay soo celisaa lambarka khadka ah ee ugu horreeya ee farcan. Turjubaan kastaa wuxu leeyahay abuurkiisa.

tan ( arg )

Waxay soo celinaysaa naxdinta argagaxa , oo lagu qiyaaso radiyanka.

tanh ( arg )

Waxay soo noqotaa macbudka maskaxda ee argagaxa .

Marka lagu daro shaqooyinkaas hore loo soo sheegay, codsiyadu waxay qeexayaan hawlo dheeraad ah iyagoo isticmaalaya Tcl_CreateMathFunc ().

Noocyada, Dhoobada, iyo Kalmada

Dhammaan xisaabaadka gudaha ee ku lug leh daraasadaha waxaa lagu sameeyaa nooca C oo dheer , xisaabtana gudaha ah oo ku lug leh calaamadda duleelka waxaa lagu sameeyaa labada nooc ee C. Markaad bedelayso xariijin si aad u fuusho, qulqulka qulqulista ayaa la ogaadaa wuxuuna keenaa qalad Tcl. Is-beddelka kaamilada ee xarfaha, ogaanshaha qulqulka waxay ku xiran tahay dabeecadaha qaar ka mid ah maktabadda xaafada, sidaas awgeed waa in loo tixgeliyaa sidii aan la isku halleyn karin. Si kastaba ha noqotee, qulqulka iyo hoos-u-dhicinta guud guud ahaan looma helin si sax ah natiijooyinka dhexdhexaadka ah. Qulqulka dul-saaran iyo hoos-hoosaadka ayaa lagu ogaanayaa heerka uu ku taageerayo qalabka, taas oo guud ahaan la isku halleyn karo.

Isbedelka dhexdhexaadinta gudaha ee loogu talagalay miisaaniyada, dhibcaha, iyo hawlaha xarigga si toos ah ayaa loo sameeyaa marka loo baahdo. Xisaabinta arithmetic, mawjadaha waxaa loo isticmaalaa ilaa lambarka dhibcaha nambarada lagu soo bandhigo, ka dib marka la isticmaalo balaashaadka. Tusaale ahaan,

soo saar 5/4

waxay soo noqotaa 1, halka

Expr 5 / 4.0 Tusaale 5 / ([length string "abcd"] + 0.0)

labaduba waxay noqdaan 1.25. Qiimaha boodhka ah ayaa mar walba lagu celiyaa '` . '' ama ' e sidaas awgeed ma eegi doonaan qiyamka dareenka. Tusaale ahaan,

soo saar 20.0 / 5.0

soo celiyaa 4.0 , ma aha 4 .

Hawlgallada Dhiska

Qiimaha String waxaa loo isticmaali karaa hawlgalada isbarbardhigayaasha isbarbardhigga, inkasta oo qiimeeynta muujinta ay isku daydo in ay isbarbardhigto miisaaniyad ama miisaan leh marka ay awooddo. Haddii mid ka mid ah hawlaha isbarbardhigaya waa xaraf, kan kalena wuxuu leeyahay qiime tiran, lambarka miisaanka ayaa dib loogu celinayaa xaraf iyadoo la adeegsanayo qaabka C caanka ah ee cabbirka % d ee miisaanka iyo % g ee qiimaha duldhiga. Tusaale ahaan, amarrada

expr {"0x03"> "2"} qiyaas "0y" <"0x12"}

labadaba labadoodaba soo noqoshada 1. Isbarbardhigga koowaad waxaa lagu sameeyaa isbarbardhiga miisaanka, halka labaadna waxaa la sameeyaa iyadoo la adeegsanayo isbarbardhiga xadhiga ka dib markii hawlgale labaad loo beddelay xariiqda 18 . Sababtoo ah Tcl waa inuu daaweeyo qiimaha lambarrada mar kasta oo suurtogal ah, ma aha guud ahaan fikrad wanaagsan in la isticmaalo dadka ka shaqeeya sida = marka aad dhab ahaantii aad rabto isbarbardhiga xayeysiinta iyo qiimaha shaqaaluhu waxay noqon karaan kuwo aan ikhtiyaar aheyn; way ka fiican tahay kiisaskan si ay u isticmaalaan amarka taliska.

Tixgelinta Waxqabadka

Ku dhaji sharaxaad ku saabsan jaangooyooyinka xawaaraha ugu fiican iyo shuruudaha kaydinta ugu yar. Tani waxay u oggolaaneysaa shirkadda Tcl intecode inay soo saaraan koodhka ugu fiican.

Sida kor ku xusan, ereyada waxaa lagu bedelay laba jeer: mar marka ay timaaddo Tcl denbiyo iyo hal mar amar gooni ah. Tusaale ahaan, amarrada

Sameey 3 b + $ a + 2} $ B * 4

ku soo noqoshada 11, ma aha mid ka mid ah 4aad. Tani waxay tahay sababta oo ah dhajiye Tcl wuxuu marka hore bedelayaa $ a + 2 ee variable b , ka dibna amarka qeexaya wuxuu qiimeyn doonaa muujinta $ a + 2 * 4 .

Hadalka inta badan uma baahna wareeg labaad oo beddelaad. Ama waxaa lagu soo lifaaqay jaangooyo ama, haddii aysan ahayn, isbeddelkooda iyo isbeddelada isbeddelka tirooyinka ama xariiqyada aan iskood u baahneyn isbeddel. Si kastaba ha noqotee, sababta oo ah dhowr eriyood oo aan loo dulqaadanin waxay u baahan yihiin laba wareeg oo isbeddel ah, waa inay soo saaraan fariimo dheeraad ah oo ay ku xalliyaan xaaladdan. Qaabka ugu qaalisan waxaa looga baahan yahay calaamadaha aan la aqoon ee ku jira amarka bedelka. Hadaladaas waa in la hirgeliyaa adigoo soo saaraya code cusub mar kasta oo faahfaahinta la fuliyo.

Ereyada

arithmetic, boolean , isbarbardhig, is barbar dhig, isbarbardhig kufilan

Muhiim: Isticmaal nambarka ninka ( % nin ) si aad u aragto sida amarka loo isticmaalo kombiyuutarkaaga gaarka ah.