উত্তর:
dc
একটি খুব প্রত্নতাত্ত্বিক সরঞ্জাম এবং এর চেয়ে কিছুটা পুরানো bc
। উইকিপিডিয়া পৃষ্ঠা উদ্ধৃত করতে :
এটি অন্যতম প্রাচীন ইউনিক্স ইউটিলিটিস, এমনকি সি প্রোগ্রামিং ভাষার উদ্ভাবনের পূর্বাভাস দেয়; সেই মদ এর অন্যান্য ইউটিলিটিগুলির মতো এটির বৈশিষ্ট্যগুলির একটি শক্তিশালী সেট রয়েছে তবে একটি অত্যন্ত ক্ষতিকারক বাক্য গঠন রয়েছে।
বাক্য গঠনটি একটি বিপরীত পোলিশ স্বরলিপি, যার মূল অর্থ আর্গুমেন্টগুলি (অর্থাত্ সংখ্যা) প্রথমে অপারেটরের পরে আসে। ব্যবহারের একটি প্রাথমিক উদাহরণ dc
:
echo '3 4 * p' | dc
যেখানে p
গণনার ফলাফল মুদ্রণ করা প্রয়োজন। bc
অন্যদিকে আরও পরিচিত ইনফিক্স স্বরলিপি ব্যবহার করে এবং এটি ব্যবহারে আরও স্বজ্ঞাত। bc
ব্যবহারের উদাহরণ এখানে :
echo '3 * 4' | bc
bc
পসিক্স দ্বারা প্রমিতকরণ করা হয়েছে এবং সম্ভবত এটি দুটির (কমপক্ষে আধুনিক সিস্টেমে) আরও বেশি পোর্টেবল। আপনি যদি ম্যানুয়াল ক্যালকুলেটরের কাজ করছেন তবে অবশ্যই এটি পছন্দ (যদি না আপনি কিছুটা মাসোশিস্ট না হন)। dc
যদিও এর ব্যবহারগুলি এখনও থাকতে পারে, এখানে এমন একটি ঘটনা রয়েছে যেখানে বিপরীত পলিশ স্বরলিপিটি কাজে আসে। কল্পনা করুন আপনার কাছে এমন একটি প্রোগ্রাম রয়েছে যা সংখ্যার একটি ধারা প্রবাহিত করে যা আপনি মোট করতে চান, যেমন:
23
7
90
74
29
এটি করার dc
জন্য খুব সহজ (অন্তত আধুনিক প্রয়োগের সাথে যেখানে প্রতিটি অপারেটর দুটি সংখ্যার বেশি নিতে পারে) যেহেতু আপনাকে কেবল +p
স্ট্রিমে একটি যুক্ত করতে হবে, যেমন:
{ gen_nums; echo +p } | dc
তবে bc
এটি আরও জটিল কারণ যেহেতু আমাদের কেবল প্রতিটি সংখ্যার +
মধ্যে একটি অন্তর্ভুক্ত করা এবং সবকিছু একই লাইনে রয়েছে তা নিশ্চিত করার দরকার নেই, তবে শেষ পর্যন্ত একটি নতুন লাইন রয়েছে কিনা তাও নিশ্চিত করে নিন:
{ gen_nums | sed '$ !s/$/+/' | tr -d '\n'; echo; } | bc
gen_nums
ব্যবহার করে উদাহরণটিকে মারাত্মক জটিল করে তুলেছেন bc
। এটি সরল করা যেতে পারে:gen_nums | paste -sd+ | bc
bc
কেবলমাত্র একটি সামনের শেষ সরঞ্জাম ছিল যা bc
চিহ্নিতকরণের জন্য স্বরলিপিটি সংকলন করে dc
এবং dc
ফলাফলটি পেতে পাইপ দেয় । FreeBSD 'র উপর এখনও -c
জন্য তা পতাকাঙ্কিত bc
যার সাহায্যে আপনি এখনও কম্পাইল করতে dc
স্বরলিপি . For example
প্রতিধ্বনি' 3 * 4 '| bc` সমান echo '3 * 4' | bc -c | dc
। দেখুন linux.die.net/man/1/bc এবং freebsd.org/cgi/man.cgi?query=bc&sektion=1
dc
ব্যবহার করছেন? উবুন্টু ১৪.০৪ এবং ওএস এক্স-এ +
অপারেটর সর্বদা স্ট্যাকের বাইরে ঠিক দুটি মানের উপর পরিচালিত হয়
bc -c
অদ্ভুত এবং ভিন্ন কিছু করে (এবং -c
পতাকাটি অনির্ধারিত )। যদি আমি এটিতে পাইপ দেওয়ার চেষ্টা করি dc
, তবে আমি বেশ কিছু ত্রুটি পেয়েছি (এবং পাইপ না করে আউটপুটটি dc
খুব ক্রিপ্টিক @iK3:K4:*W@r\n@i
)।
উভয়ের মধ্যে একটি প্রাথমিক পার্থক্য হ'ল বিপরীত পোলিশ স্বরলিপিdc
ব্যবহার করে । এমনকি আউটপুট উত্পাদন করার জন্য এটি সুস্পষ্ট কমান্ডের প্রয়োজন।
আপনি এই bc
বলে দুটি পূর্ণসংখ্যার যোগ করতে পারেন :
bc <<< "2+4"
এবং এটি 6
নিজেই এক লাইনে উত্পন্ন হবে । তবে, dc
আপনার এই কথাটি বলা দরকার:
dc <<< "2 4 +p"
আপনি ব্যবহার করে অনেক মজাদার জিনিসগুলিও করতে পারেন dc
, যেমন উত্পাদন করার জন্য আমার উত্তরটি এখানে উল্লেখ করুন to
Hello World!
ব্যবহার dc
।
ডিসি <<< "8 9 * P101P108P108P111P4 8 * P81 6 + P111P114P108P100P33P"
dc
একটি ক্যালকুলেটর যেখানে bc
একটি আসল ভাষা। তাদের ম্যান পৃষ্ঠাগুলি দেখুন।
খ্রিস্টপূর্বডিসি একটি বিপরীত-পোলিশ ডেস্ক ক্যালকুলেটর যা সীমাহীন নির্ভুল গণিত সমর্থন করে। এটি আপনাকে ম্যাক্রো সংজ্ঞায়িত এবং কল করার অনুমতি দেয়। সাধারণত ডিসি স্ট্যান্ডার্ড ইনপুট থেকে পড়ে; যদি কোনও কমান্ড আর্গুমেন্ট এটিকে দেওয়া হয় তবে সেগুলি ফাইলের নাম এবং ডিসি স্ট্যান্ডার্ড ইনপুট থেকে পড়ার আগে ফাইলগুলির বিষয়বস্তু পড়ে এবং কার্যকর করে। সমস্ত সাধারণ আউটপুট স্ট্যান্ডার্ড আউটপুট হয়; সমস্ত ত্রুটি আউটপুট মান ত্রুটি হয়।
বিসি হ'ল এমন একটি ভাষা যা বিবৃতিগুলির ইন্টারেক্টিভ এক্সিকিউশন সহ নির্বিচারে নির্ভুলতা সংখ্যার সমর্থন করে। সি প্রোগ্রামিং ভাষার সাথে সিনট্যাক্সের কিছু মিল রয়েছে। কমান্ড লাইন বিকল্প দ্বারা একটি স্ট্যান্ডার্ড গণিত লাইব্রেরি উপলব্ধ। যদি অনুরোধ করা হয়, কোনও ফাইল প্রক্রিয়া করার আগে গণিতের পাঠাগারটি সংজ্ঞায়িত করা হয়। বিসি তালিকাভুক্ত ক্রমের কমান্ড লাইনে তালিকাভুক্ত সমস্ত ফাইল থেকে কোড প্রসেসিংয়ের মাধ্যমে শুরু হয়। সমস্ত ফাইল প্রক্রিয়া করার পরে, বিসি স্ট্যান্ডার্ড ইনপুট থেকে পড়ে। সমস্ত কোড পড়ার সাথে সাথে তা কার্যকর করা হয়েছে। (যদি কোনও ফাইলে প্রসেসরটি থামানোর কমান্ড থাকে তবে বিসি কখনও স্ট্যান্ডার্ড ইনপুট থেকে পড়তে পারে না))
এটি আপনি গাণিতিকভাবে শেষ পর্যন্ত যা করতে চাইছেন তার উপর নির্ভর করে depends কিছু অপারেশন ব্যবহার করা সম্ভব নয় dc
। আমি বেশ কয়েকটি অন্যান্য কমান্ড-লাইন ক্যালকুলেটর সরঞ্জাম ছাড়াও কয়েক বছর ধরে ব্যবহার করেছি। কিছু অতিরিক্ত উদাহরণের জন্য " কমান্ড লাইন এক্সপ্রেশন সলভার? " দেখুন।
dc
একটি বিপরীত পলিশ স্বরলিপি ক্যালকুলেটর হওয়ার কারণে এবং যেহেতু আমি সবসময় এইচপি বিপরীত পোলিশ নোটেশন ক্যালকুলেটর ব্যবহার করেছি আমি আসলে ব্যবহার dc
করতে পছন্দ করি bc
তবে আমি বলব যে কোনও জটিল গাণিতিক গণনা সম্পাদন করার জন্য যে কোনও সময় তারা উভয় এখনও ব্যবহার করা হয়েছে। আমি প্রায়শই তাদের সংখ্যা বি / ডাব্লু বেস 10 কে বেস 16 এবং বেস 2 তে রূপান্তর করতে ব্যবহার করি তবে এগুলি টবুলার ডেটাতে পাশাপাশি একটি এডব্লিউ স্ক্রিপ্টের মধ্যে থেকে কলামগুলি টালি করতে ব্যবহার করেছি।
bc
এটি এমন একটি ভাষা ছিল যা এটি dc
মানব-বান্ধব করে তোলে - এটি আরও শক্তিশালী ছিল না। আজকাল অ্যাপস লিব ভাগ, কিন্তু bc
একটি নাম ছিল ভাষা এবং dc
একটি ক্যালকুলেটর কারণ dc
গণিত করেনি এবং bc
গণিত স্পোক - এতে dc
। এখানে একটি পুরানো man
পৃষ্ঠা : [1] নামক একটি ভাষা BC
তৈরি করা হয়েছে যা উচ্চ স্তরের ভাষায় লিখিত প্রোগ্রামগুলি গ্রহণ করে এবং ডিসি দ্বারা ব্যাখ্যা করা আউটপুট সংকলন করে। নীচে বর্ণিত কয়েকটি কমান্ডগুলি সংকলক ইন্টারফেসের জন্য ডিজাইন করা হয়েছিল এবং কোনও মানব ব্যবহারকারীর পক্ষে ম্যানিপুলেট করা সহজ নয়।
dc
একটি ভাষা। উদাহরণস্বরূপ কোডগল্ফ.স্ট্যাকেক্সেঞ্জঞ্জ.com
আমার নম্র মতামত এবং যতটা সম্ভব কথায় কথায়, GNU ডিসি GNU বিসি থেকে 3 উপায়ে পৃথক:
1) যদি বিসি-র গণিত পাঠাগারটি উদ্বেগের বাইরে থাকে, প্রাথমিক গাণিতিক করার সময় যতটা সম্ভব কী-স্ট্রোক সংরক্ষণ করা (জান Łukasiewicz এর কথায়: একটি প্রথম বন্ধন মুক্ত স্বরলিপি), প্রয়োজনীয়গুলিতে আরও মনোনিবেশ করা এবং বিঘ্ন এড়ানোর জন্য।
2) মাইক্রোসফ্ট উইন্ডোজ 7 এর কমান্ড লাইনে, জিএনইউ ডিসি জিএনইউ বিসি (~ 360K) এর চেয়ে কম মেমরি (320 কে) খরচ করে।
৩) জিএনইউ বিসি-র তুলনায় জিএনইউ ডিসিতে অনেক দানাদার নিয়ন্ত্রণ, উদাহরণস্বরূপ, স্ট্যাক এবং রেজিস্টার কমান্ডগুলি জিএনইউ বিসি থেকে অনুপস্থিত।
উভয়ের জন্য 1.07.1 সংস্করণ সংস্করণটি https://embedeo.org/ws/command_line/bc_dc_calculator_windows/ এ রয়েছে
expr
কমান্ড লাইনে এবং স্ক্রিপ্টগুলিতে সাধারণ গণনার জন্য প্রায়শই ব্যবহার করি ।