খোল
সরলতম CLI মধ্যে Calc CLI (শেল) নিজেই (যদি IFS
ডিফল্ট):
$ echo $(( 22 + 333 ))
355
স্পেস বাদ দেওয়া যেতে পারে:
$ echo $((22*333))
7326
এটি পসিক্সের অংশ হিসাবে প্রায় সমস্ত শেল এটির রয়েছে। এবং এটিতে বেশিরভাগ সি ভাষার গণিত কার্যকারিতা অন্তর্ভুক্ত রয়েছে (বাদে zsh এর আলাদা নজির রয়েছে, এটিকে একটি সামঞ্জস্যপূর্ণ মানটিতে পুনরুদ্ধার করতে C_PRECEDENCES সেট করুন):
$ echo $((22*333^2))
7324
এবং কিছু শেলের বেশিরভাগ সি ভাষার গণিত বাক্য গঠন রয়েছে (কমা সহ):
$ echo $((a=22,b=333,c=a*b,c))
7326
তবে এটি কয়েকটি শেলের মধ্যে কেবল পূর্ণসংখ্যার গণিত (এবং সাধারণত বর্তমানের ওএসে সাধারণত 2 63 এরও কম ) হয়:
$ echo $((1234/3))
411
$ zsh -c 'echo $((2**63))'
-9223372036854775808
কিছু শেল ভাসমান গণিত করতে পারে:
$ ksh -c 'echo $((1234/3.0))'
411.333333333333333
$ ksh -c 'echo $((12345678901234567890123/3.0))'
4.11522630041152263e+21
Zsh এড়িয়ে চলুন (zcalc এর একইরকম সমস্যা রয়েছে):
$ zsh -c 'echo $((12345678901234567890123 + 1))'
zsh:1: number truncated after 22 digits: 12345678901234567890123 + 1
-1363962815083169259
আমি আপনাকে এড়াতে পরামর্শ দিই expr
, এর মাঝে মাঝে অদ্ভুত পালানো দরকার:
$ expr 22 \* 333
7326
খ্রিস্টপূর্ব
পরবর্তী স্তরে ( এছাড়াও পসিক্স ) bc
(আরপিএন এর কাজিন dc
)
$ echo '22*333' | bc
7326
$ echo '22 333 * p' | dc
7326
dc
ছিল POSIX কিন্তু 2017 সরানো পেয়েছিলাম ।
আপনার শেল যদি এটি সমর্থন করে তবে আরও কম:
$ bc <<<'22*333'
7326
অথবা এমনকি:
$ <<<'22*333' bc
7326
উভয়ই অভ্যন্তরীণ গণিত কার্যের সাথে নির্বিচারে নির্ভুলতা ক্যালকুলেটর:
$ bc <<<2^200
1606938044258990275541962092341162602522202993782792835301376
$ echo 's(3.1415/2)' | bc -l # sine function
.99999999892691403749
awk
সত্যিকারের মৌলিক ক্যালক সরঞ্জামগুলির পরে, আপনার অন্যান্য ভাষায় যেতে হবে
$ awk "BEGIN {print (22*33)/7}"
103.714
$ perl -E "say 22*33/7"
103.714285714286
$ python3 -c "print(22*33/7)"
103.71428571428571
$ php -r 'echo 22*33/7,"\n";'
103.71428571429
ক্রিয়া
আপনি উপরের বিকল্পগুলির একটির কার্যকারিতা সংজ্ঞায়িত করতে পারেন:
c ()
{
local in="$(echo " $*" | sed -e 's/\[/(/g' -e 's/\]/)/g')";
gawk -M -v PREC=201 -M 'BEGIN {printf("%.60g\n",'"${in-0}"')}' < /dev/null
}
আর ব্যবহার করুন:
$ c 22* 33 /7 # spaces or not, it doesn't matter.
103.714285714285714285714285714285714285714285714285714285714
quit
মধ্যেbc
; যেctrl-D
কোনও ইন্টারেক্টিভ প্রোগ্রামে এটি চাপলে তা হবে।