সি বাইনারি অপারেটরস

বাইনারি অপারেটর এ দুইটি অপারেন্ড থাকবে । অনেক ধরনের বাইনারি অপারেটর রয়েছে । আসো আগে আমাদের পরিচিত অপারেটর (+,- ইত্যাদি) গুলো দেখে নেই ।

বাইনারি অ্যারিথমেটিক অপারেটর বা গাণিতিক অপারেটর

বাইনারি অপারেটরগুলো হলোঃ

Loading...

এখানে অপারেটরটি তোমাদের অপরিচিত লাগতে পারে । একে বলে মডুলাস অপারেটর । এটি দ্বারা ভাগশেষ নির্ণয় করা হয় । যেমন ধরো ৩৭ কে ৯ দ্বারা ভাগ করলে কত ভাগশেষ থাকে তা আমি বের করতে চাই । সেক্ষেত্রে আমি ব্যবহার করবো  বুঝতে পারলে?

কিছু অ্যারিথমেটিক অপারেটর এর প্রয়োগ দেখি চলো

চলো একটি প্রোগ্রাম লেখি যা দুটি সংখ্যার ইনপুট নিবে এবং তাদের যোগফল, বিয়োগফল, গুণফল, ভাগফল এবং ভাগশেষ প্রিন্ট করবে । প্রথম ধাপ হলো আমাদের দুটি সংখ্যা ইনপুট নিতে হবে । চলো আমরা আলাদা আলাদা করে ইনপুট না নিয়ে এক লাইনেই নিয়ে ফেলিঃ

1#include <stdio.h>
2
3int main()
4{
5    int a, b;
6    printf("Please enter two numbers ( a and b ): ");
7    scanf("%d%d", &a, &b);
8
9    return 0;
10}

এবার ভ্যালু গুলো প্রিন্ট করে ফেলিঃ

1#include <stdio.h>
2
3int main()
4{
5    int a, b;
6    printf("Please enter two numbers ( a and b ): ");
7    scanf("%d%d", &a, &b);
8
9    printf("\n\n");
10
11    printf("a + b = %d\n", a + b);
12    printf("a - b = %d\n", a - b);
13    printf("a * b = %d\n", a * b);
14    printf("a / b = %d\n", a / b);
15    printf("a % b = %d\n", a % b);
16
17    return 0;
18}

এখানে আমরা ব্যবহার না করে  ব্যবহার করেছি । তুমি চাইলে ব্যবহার করে দেখতে পারো সমস্যাটা কোথায় হয় । সমস্যাটা হবে লাইন 15 তে, কারণ আমরা যে  অপারেটর ব্যবহার করছি তা কেবলমাত্র  ভ্যালুর উপরেই অপারেশন করতে পারে ।

এছাড়াও তোমাদের প্রশ্ন আসতে পারে যে লাইন ১৪ তে ভাগফলের মান তো পূর্ণসংখ্যা নাও হতে পারে, তাহলে আমরা কেন ব্যবহার না করে  ব্যবহার করলাম? তার কারণ হচ্ছে এবং উভয়েই টাইপের, তাই এর মানও হবে একটি ভ্যালু । তাই তুমি   ব্যবহার করলেও দেখবে শুধু পূর্ণ অংশটি print হবে, ভগ্নাংশ টুকু দেখাবে না ।

এখন দেখো, এই প্রোগ্রামে কিন্তু একটা সমস্যা রয়ে গেছে । যদি b এর মান ০ দাও তাহলে কী হবে?

b এর মান 0 দিলে আমাদের প্রোগ্রামটি ঐখানে আটকে যাবে । একে জোর করে বন্ধ করার প্রয়োজন হবে ।  চেপে একে বন্ধ করে দাও ।

এটি সমাধানের উপায় কী? আমরা আপাতত যেটুকু প্রোগ্রামিং শিখেছি তাতে এ সমস্যা সমাধান করা সম্ভব নয় । একটু পরে যখন আমরা শর্ত পরীক্ষা করতে শীখবো তখন আমরা এ সমস্যার সমাধান করতে পারবো ।

এবার নিচের সমস্যাটি সমাধান করোঃ

Loading...

দেখো, আমরা এখনো শিখিনি কীভাবে আমরা প্রোগ্রামে Power ব্যবহার করতে পারি । তাই এই প্রোগ্রামটি লিখতে আমাদের একটু কষ্ট করতে হয়েছে । a ও b এর যোগফল sum এ রেখে sum কে sum দ্বারা গুণ করে আমরা sum এর বর্গ নির্ণয় করেছি । কিন্তু ধরো যদি আমাদের (a+b)10 নির্ণয় করতে হতো? আমরা নিশ্চয়ই sum কে ১০ বার গুণ করতাম না ।

এক্ষেত্রে আমাদের সাহায্য করবে আরেকটি লাইব্রেরি ফাংশন । এতে (a+b)2 নির্ণয় করতে হলে আমরা লেখবো , (a+b)10 নির্ণয় করতে হলে আমরা লেখবো এরকম । এ ফাংশনটি ব্যবহার করার জন্য আমাদের আরেকটি হেডার ফাইল করতে হবে এবং এর নাম হলো  । উপরের প্রোগ্রামটি  ব্যবহার করে এখানে আবার দিলামঃ

Loading...

Logo

PyxLearn

Quick Links

আমাদের মেসেজ পাঠাতে চাও?