खोज…


गणित का उपयोग करते हुए डी.सी.

dc यूनिक्स पर सबसे पुरानी भाषा में से एक है।

यह रिवर्स पॉलिश नोटेशन का उपयोग कर रहा है , जिसका अर्थ है कि आप पहले स्टैकिंग नंबर हैं, फिर ऑपरेशन। उदाहरण के लिए 1+1 को 1 1+ लिखा जाता है।

स्टैक के शीर्ष से एक तत्व प्रिंट करने के लिए कमांड p

echo '2 3 + p' | dc
5

or

dc <<< '2 3 + p'
5

आप शीर्ष तत्व को कई बार प्रिंट कर सकते हैं

dc <<< '1 1 + p 2 + p'
2
4

नकारात्मक संख्याओं के लिए _ उपसर्ग का उपयोग करें

dc <<< '_1 p'
-1

आप 10 and 15 बीच संख्याओं के लिए A to F तक के बड़े अक्षरों का भी उपयोग कर सकते हैं . एक दशमलव बिंदु के रूप में

dc <<< 'A.4 p'
10.4

dc अभेद्य परिशुद्धता का उपयोग कर रहा है जिसका अर्थ है कि परिशुद्धता केवल उपलब्ध स्मृति द्वारा सीमित है। डिफ़ॉल्ट रूप से सटीक 0 दशमलव पर सेट है

dc <<< '4 3 / p'
1

हम आदेश k का उपयोग करके परिशुद्धता बढ़ा सकते हैं। 2k का उपयोग करेगा

dc <<< '2k 4 3 / p'
1.33

dc <<< '4k 4 3 / p'
1.3333

आप इसे कई लाइनों पर भी उपयोग कर सकते हैं

dc << EOF
1 1 +
3 *
p
EOF
6

bc के लिए एक पूर्वप्रक्रमक है dc

गणित का उपयोग कर बी.सी.

bc एक मनमाना परिशुद्धता कैलकुलेटर भाषा है। यह अंतःक्रियात्मक रूप से इस्तेमाल किया जा सकता है या कमांड लाइन से निष्पादित किया जा सकता है।

उदाहरण के लिए, यह एक अभिव्यक्ति का परिणाम प्रिंट कर सकता है:

echo '2 + 3' | bc
5

echo '12 / 5' | bc
2

फ्लोटिंग-पोस्ट अंकगणित के लिए, आप मानक लाइब्रेरी bc -l आयात कर सकते हैं:

echo '12 / 5' | bc -l
2.40000000000000000000

इसका उपयोग अभिव्यक्तियों की तुलना करने के लिए किया जा सकता है:

echo '8 > 5' | bc
1

echo '10 == 11' | bc
0

echo '10 == 10 && 8 > 3' | bc
1

बैश क्षमताओं का उपयोग करके गणित

अंकगणित अभिकलन को इस तरह से किसी अन्य कार्यक्रम में शामिल किए बिना भी किया जा सकता है:

गुणा:

echo $((5 * 2))
10

विभाजन:

echo $((5 / 2))
2

सापेक्ष:

echo $((5 % 2))
1

घातांक:

echo $((5 ** 2))
25

गणित expr का उपयोग कर

expr या Evaluate expressions एक अभिव्यक्ति का मूल्यांकन करता है और मानक उत्पादन पर परिणाम लिखते हैं

मूल अंकगणित

expr 2 + 3
5

गुणा करते समय, आपको * चिह्न से बचने की आवश्यकता है

expr 2 \* 3
6

तुम भी चर का उपयोग कर सकते हैं

a=2
expr $a + 3
5

ध्यान रखें कि यह केवल पूर्णांक का समर्थन करता है, इसलिए इस तरह की अभिव्यक्ति

expr 3.0 / 2

एक त्रुटि expr: not a decimal number: '3.0' फेंक देगा expr: not a decimal number: '3.0'

यह पैटर्न से मिलान करने के लिए नियमित अभिव्यक्ति का समर्थन करता है

expr 'Hello World' : 'Hell\(.*\)rld'
o Wo

या खोज स्ट्रिंग में पहले चार का सूचकांक खोजें

यह expr: syntax error फेंक देगा expr: syntax error Mac OS X पर expr: syntax error , क्योंकि यह BSD expr का उपयोग करता है जिसमें इंडेक्स कमांड नहीं है, जबकि Linux पर expr आमतौर पर GNU expr है

expr index hello l
3

expr index 'hello' 'lo'
3


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow