बहुत सारे विकल्प हैं !!!
सारांश
$ printf %.10f\\n "$((10**9 * 20/7))e-9" # many shells. Not mksh.
$ echo "$((20.0/7))" # (ksh93/zsh/yash, not bash)
$ awk "BEGIN {print (20+5)/2}"
$ zcalc
$ bc <<< 20+5/2
$ bc <<< "scale=4; (20+5)/2"
$ dc <<< "4 k 20 5 + 2 / p"
$ expr 20 + 5
$ calc 2 + 4
$ node -pe 20+5/2 # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
$ echo 20 5 2 / + p | dc
$ echo 4 k 20 5 2 / + p | dc
$ perl -E "say 20+5/2"
$ python -c "print(20+5/2)"
$ python -c "print(20+5/2.0)"
$ clisp -x "(+ 2 2)"
$ lua -e "print(20+5/2)"
$ php -r 'echo 20+5/2;'
$ ruby -e 'p 20+5/2'
$ ruby -e 'p 20+5/2.0'
$ guile -c '(display (+ 20 (/ 5 2)))'
$ guile -c '(display (+ 20 (/ 5 2.0)))'
$ slsh -e 'printf("%f",20+5/2)'
$ slsh -e 'printf("%f",20+5/2.0)'
$ tclsh <<< 'puts [expr 20+5/2]'
$ tclsh <<< 'puts [expr 20+5/2.0]'
$ sqlite3 <<< 'select 20+5/2;'
$ sqlite3 <<< 'select 20+5/2.0;'
$ echo 'select 1 + 1;' | sqlite3
$ psql -tAc 'select 1+1'
$ R -q -e 'print(sd(rnorm(1000)))'
$ r -e 'cat(pi^2, "\n")'
$ r -e 'print(sum(1:100))'
$ smjs
$ jspl
विवरण
गोले
आप पूर्णांक अंकगणित के लिए POSIX अंकगणितीय विस्तार का उपयोग कर सकते हैं echo "$((...))"
:
$ echo "$((20+5))"
25
$ echo "$((20+5/2))"
22
काफी पोर्टेबल ( ash dash yash bash ksh93 lksh zsh
):
फ्लोट को प्रिंट करने की क्षमता का उपयोग करके हम सीमित सीमा के साथ फ्लोटिंग पॉइंट गणित को करने के लिए अधिकांश गोले बढ़ा सकते हैं (10 अंकों से अधिक नहीं):
$ printf %.10f\\n "$((1000000000 * 20/7 ))e-9"
2.8571428570
ksh93
, yash
और zsh
यहाँ फ्लोट का समर्थन करते हैं:
$ echo "$((1.2 / 3))"
0.4
केवल ksh93
(सीधे) और zsh
लोडिंग लाइब्रेरी mathfunc यहाँ:
$ echo "$((4*atan(1)))"
3.14159265358979324
( कार्यों की तरह पाने के zsh
लिए लोड zmodload zsh/mathfunc
करने की आवश्यकता है atan
)।
अंत में ज़ीश के साथ:
$ autoload zcalc
$ zcalc
1> PI/2
1.5708
2> cos($1)
6.12323e-17
3> :sci 12
6.12323399574e-17
(T) csh (केवल पूर्णांक) के साथ:
% @ a=25 / 3; echo $a
8
में rc
खोल परिवार, akanga
अंकगणितीय विस्तार के साथ एक है:
; echo $:25/3
8
POSIX टूलकिट
bc
(इंटरेक्टिव मोड के लिए नीचे देखें), यहाँ मैनुअल
Mnemonic: bस्था calculator (हालांकि मूल केb
लिए वास्तव में है )।
$ echo 20+5/2 | bc
22
$ echo 'scale=4;20+5/2' | bc
22.5000
(मनमाना सटीक संख्याओं का समर्थन करता है)
बीसी इंटरैक्टिव मोड:
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5+5
10
2.2+3.3
5.5
रश का समाधान, expr
(कोई संवादात्मक मोड):
$ expr 20 + 5
25
$ expr 20 + 5 / 2
22
यहोशू का समाधान : awk
(कोई इंटरैक्टिव मोड):
$ calc() { awk "BEGIN{print $*}"; }
$ calc 1/3
0.333333
अन्य अधिक या कम पोर्टेबल उपकरण
एर्स के समाधान, dc
(इंटरेक्टिव मोड :)dc
:
यह और भी मजेदार है क्योंकि यह रिवर्स पॉलिश नोटेशन द्वारा काम करता है।
$ echo 20 5 2 / + p | dc
22
$ echo 4 k 20 5 2 / + p | dc
22.5000
लेकिन तब तक व्यावहारिक नहीं जब तक आप रिवर्स पॉलिश नोटेशन के साथ काम नहीं करते।
ध्यान दें कि dc
पूर्ववर्ती bc
और bc
ऐतिहासिक रूप से एक आवरण के रूप में कार्यान्वित किया गया है, dc
लेकिन dc
POSIX द्वारा मानकीकृत नहीं किया गया था
DQdims की calc
आवश्यकता sudo apt-get install apcalc)
:
$ calc 2 + 4
6
सामान्य प्रयोजन भाषा व्याख्याकार:
मैनेटवर्क का समाधान, node
(इंटरैक्टिव मोड node
:; आउटपुट फ़ंक्शन की आवश्यकता नहीं):
$ node -pe 20+5/2 # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
22.5
पर्ल (इंटरैक्टिव मोड :)perl -de 1
:
$ perl -E "say 20+5/2"
22.5
पायथन (इंटरैक्टिव मोड python
:; आउटपुट फ़ंक्शन की आवश्यकता नहीं):
$ python -c "print(20+5/2)"
22 # 22.5 with python3
$ python -c "print(20+5/2.0)"
22.5
इसके अलावा मनमाना सटीक संख्याओं का समर्थन करता है:
$ python -c 'print(2**1234)'
295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837184
यदि आपने clisp
स्थापित किया है, तो आप पॉलिश नोटेशन का उपयोग भी कर सकते हैं:
$ clisp -x "(+ 2 2)"
मार्को का समाधान, lua
(इंटरैक्टिव मोड:) lua
:
$ lua -e "print(20+5/2)"
22.5
PHP (इंटरैक्टिव मोड :)php -a
:
$ php -r 'echo 20+5/2;'
22.5
रूबी (इंटरैक्टिव मोड irb
:; उत्पादन समारोह की जरूरत नहीं):
$ ruby -e 'p 20+5/2'
22
$ ruby -e 'p 20+5/2.0'
22.5
गुइल (इंटरैक्टिव मोड :)guile
:
$ guile -c '(display (+ 20 (/ 5 2)))'
45/2
$ guile -c '(display (+ 20 (/ 5 2.0)))'
22.5
एस-लैंग (इंटरैक्टिव मोड slsh
:; आउटपुट फ़ंक्शन की आवश्यकता नहीं है, बस एक ;
टर्मिनेटर):
$ slsh -e 'printf("%f",20+5/2)'
22.000000
$ slsh -e 'printf("%f",20+5/2.0)'
22.500000
Tcl (इंटरैक्टिव मोड tclsh
:; आउटपुट फ़ंक्शन की आवश्यकता नहीं है, लेकिन expr
है):
$ tclsh <<< 'puts [expr 20+5/2]'
22
$ tclsh <<< 'puts [expr 20+5/2.0]'
22.5
जावास्क्रिप्ट गोले:
$ smjs
js> 25/3
8.333333333333334
js>
$ jspl
JSC: 25/3
RP: 8.33333333333333
RJS: [object Number]
JSC:
Good bye...
$ node
> 25/3
8.333333333333334
>
विभिन्न एसक्यूएल:
SQLite (इंटरैक्टिव मोड :)sqlite3
:
$ sqlite3 <<< 'select 20+5/2;'
22
$ sqlite3 <<< 'select 20+5/2.0;'
22.5
MySQL :
mysql -BNe 'select 1+1'
PostgreSQL :
psql -tAc 'select 1+1
_ Mysql और postgres पर विकल्प 'ascii कला' छवि को रोकते हैं!
विशिष्ट गणित-उन्मुख भाषाएँ:
सादे मोड में आर - 1000 सामान्य यादृच्छिक संख्या उत्पन्न करता है और मानक विचलन प्राप्त करता है और इसे प्रिंट करता है
$ R -q -e 'print(sd(rnorm(1000)))'
> print(sd(rnorm(1000)))
[1] 1.031997
आर का उपयोग कर के रूप में बड़ा स्क्रिप्ट - प्रिंट अनुकरणीय चुकता करने देता है
$ r -e 'cat(pi^2, "\n")'
9.869604
$ r -e 'print(sum(1:100))'
[1] 5050
PARI / GP , संख्या सिद्धांत, रैखिक बीजगणित, और कई अन्य चीजों के लिए एक व्यापक कंप्यूटर बीजगणित प्रणाली
$ echo "prime(1000)"|gp -q
7919 // the 1000th prime
$ echo "factor(1000)" | gp -q
[2 3]
[5 3] // 2^3*5^3
$ echo "sum(x=1,5,x)" | gp -q
15 // 1+2+3+4+5
GNU ऑक्टेव (मुख्य रूप से संख्यात्मक अभिकलन के लिए उच्च स्तरीय व्याख्या की गई भाषा)
इसके अलावा जटिल संख्या का समर्थन करता है:
$ octave
>> 1.2 / 7
ans = 0.17143
>> sqrt(-1)
ans = 0 + 1i
जूलिया , उच्च प्रदर्शन वाली भाषा और वैज्ञानिक और संख्यात्मक कंप्यूटिंग के लिए दुभाषिया।
गैर-इंटरैक्टिव विकल्प:
$ julia -E '2.5+3.7'
6.2
bc
, तो-l
मैन पेज में विकल्प के बारे में पढ़ना आपके समय के लायक हो सकता है ।