C++ XOR অপারেশন

C Xor Aparesana



C++ প্রোগ্রামিং বিভিন্ন বিটওয়াইজ অপারেটর প্রদান করে যেমন AND, OR, NOT, XOR ইত্যাদি। বিট লেভেলে প্রদত্ত ডেটাতে কাজ করার জন্য, আমরা C++ প্রোগ্রামিং ভাষায় বিটওয়াইজ অপারেটর ব্যবহার করি। C++ এ 'XOR' অপারেটর (^) দুটি অপারেন্ডের প্রতিটি বিটে একটি XOR প্রক্রিয়া চালায়। যদি দুটি বিট স্বতন্ত্র হয়, তাহলে XOR-এর ফলাফল হল 1; যদি উভয়ই একই হয়, ফলাফল 0। এখানে, আমরা C++ প্রোগ্রামিং-এ 'XOR' অপারেটর অধ্যয়ন করব।

উদাহরণ 1:

কোডটি এখানে 'iostream' হেডার ফাইল অন্তর্ভুক্ত করে শুরু হয়। নাম অনুসারে, এই হেডার ফাইলটি ইনপুট এবং আউটপুট ফাংশনের জন্য কারণ এই ফাংশনগুলি এতে ঘোষণা করা হয়েছে। তারপর, আমাদের কাছে 'নেমস্পেস std' আছে যেখানে এই ফাংশনগুলি সংজ্ঞায়িত করা হয়েছে।

এর নীচে, আমরা 'main()' পদ্ধতি বলি। আমরা “int” টাইপের “x” ভেরিয়েবল শুরু করি এবং এই “x”-এ “10” বরাদ্দ করি। তারপর, আমাদের কাছে 'int' ডাটা টাইপের আরেকটি ভেরিয়েবল, 'y' আছে এবং '6' বরাদ্দ করুন। এর পরে, আমরা 'int' ডেটা টাইপের 'r' শুরু করি। এখানে, আমরা এই ভেরিয়েবলগুলির মধ্যে '^' অপারেটর স্থাপন করে 'x' এবং 'y' ভেরিয়েবলের মানগুলিতে 'XOR' অপারেশন প্রয়োগ করি। এই 'XOR' অপারেটরটি পূর্ণসংখ্যার মানগুলিকে বাইনারিতে রূপান্তর করে, বাইনারি মানগুলিতে 'XOR' অপারেশন প্রয়োগ করে এবং ফলাফলটিকে পূর্ণসংখ্যা মান হিসাবে সংরক্ষণ করে। এই 'XOR' অপারেটরের ফলাফল এখন 'r' এ সংরক্ষিত হয়েছে।







এর পরে, আমরা এই ভেরিয়েবলগুলির মানগুলি আলাদাভাবে প্রদর্শন করি এবং তারপরে 'cout' এর সাহায্যে 'XOR' অপারেটর প্রয়োগ করার পরে যে ফলাফল পাই তা প্রদর্শন করি।



কোড 1:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

int এক্স = 10 ;

int এবং = 6 ;

int r = এক্স ^ এবং ;

cout << 'x এর মান : ' << এক্স << endl ;

cout << 'y এর মান : ' << এবং << endl ;

cout << 'XOR x^y = ' << r << endl ;

ফিরে 0 ;

}

আউটপুট:



যেহেতু '10' এর বাইনারি মান হল '1010' এবং '6' এর বাইনারি মান হল '0110', তাই এটি 'XOR' অপারেটর প্রয়োগ করার পরে '12' প্রদান করে এবং '1100' হল '12' এর বাইনারি মান। এটি দেখায় যে এটি '1' ফেরত দেয় যেখানে উভয় ইনপুট আলাদা এবং যেখানে উভয় ইনপুট একই থাকে সেখানে '0' প্রদান করে।





উদাহরণ 2:

'iostream' হেডার ফাইল এবং 'std' নেমস্পেস যোগ করার পর, আমরা 'main()' পদ্ধতি চালু করি। তারপর, আমরা দুটি ভেরিয়েবল শুরু করি, “X1” এবং “X2”, এবং এই ভেরিয়েবলগুলিতে যথাক্রমে “21” এবং “35” পূর্ণসংখ্যার মান নির্ধারণ করি। তারপর, আমরা উভয় ভেরিয়েবলের মান প্রিন্ট করি। এর পরে, আমরা এই পূর্ণসংখ্যা মানগুলিতে 'XOR' অপারেটর প্রয়োগ করি। আমরা এই 'XOR' অপারেশনটি 'cout' এর ভিতরে এই 'X1' এবং 'X2' ভেরিয়েবলগুলিতে প্রয়োগ করি। সুতরাং, এই 'XOR' এর ফলাফলও ফলাফল হিসাবে প্রদর্শিত হয়।



কোড 2:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

int X1 = একুশ , X2 = 35 ;

cout << 'X1 মান = ' << X1 << endl ;

cout << 'X2 মান = ' << X2 << endl ;

cout << 'XOR ফলাফল হল:' << endl ;

cout << 'X1^X2 = ' << ( X1 ^ X2 ) << endl ;

ফিরে 0 ;

}

আউটপুট:

প্রথম পূর্ণসংখ্যার মান হল '21' এবং দ্বিতীয়টি হল '35'। 'XOR' অপারেশন প্রয়োগ করার পরে, আমরা '54' ফলাফল পাই যা এখানে প্রদর্শিত হয়।

উদাহরণ 3:

'iostream' হেডার ফাইল এবং 'std' নামস্থান যোগ করার পর আমরা 'main()' পদ্ধতিকে কল করি। 'int' টাইপের 'n1' ভেরিয়েবলটি আরম্ভ করা হয়েছে এবং '29' এটিকে বরাদ্দ করা হয়েছে। এর পরে, আমরা '75' অন্য একটি ভেরিয়েবল, 'n2' কে বরাদ্দ করি, যেটি 'int' ডেটা টাইপের। এর পরে, আমরা 'r1″ এর মান এবং সেইসাথে 'int' ডেটা টাইপের মান শুরু করি।

এর পরে, আমরা '^' অপারেটরটিকে তাদের মধ্যে স্থাপন করে 'n1' এবং 'n2' ভেরিয়েবলের মানগুলিতে 'XOR' অপারেশন প্রয়োগ করি। এই 'XOR' অপারেটর ব্যবহার করে পূর্ণসংখ্যার মানগুলিকে বাইনারিতে রূপান্তরিত করা হয় যা তারপর বাইনারি ডেটাতে 'XOR' অপারেশন প্রয়োগ করে এবং ফলাফলটিকে একটি পূর্ণসংখ্যা মান হিসাবে সংরক্ষণ করে। 'r1' ভেরিয়েবলে এখন এই 'XOR' অপারেশনের ফলাফল রয়েছে। এই ভেরিয়েবলের প্রতিটির মান আলাদাভাবে দেখানো হয়। আমরা 'cout' অপারেটরের সহায়তায় 'XOR' অপারেটর ব্যবহার করার ফলাফলও দেখাই৷

কোড 3:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( )

{

int n1 = 29 ;

int n2 = 75 ;

int r1 = n1 ^ n2 ;

cout << 'প্রথম মান:' << n1 << endl ;

cout << 'দ্বিতীয় মান:' << n2 << endl ;

cout << 'XOR অপারেটরের ফলাফল হল:' << r1 << endl ;

ফিরে 0 ;

}

আউটপুট:

ইনপুট পূর্ণসংখ্যাগুলি হল '29' এবং '75' যা বাইনারিতে রূপান্তরিত হয়। তারপর, 'XOR' অপারেশন তাদের উপর প্রয়োগ করা হয়। 'XOR' প্রয়োগ করার পরে, ফলাফল '86' হয়।

উদাহরণ 4:

এই কোডে, আমরা ব্যবহারকারীর কাছ থেকে ইনপুট পাই এবং তারপর ব্যবহারকারীর ইনপুট মানগুলিতে 'XOR' অপারেশন প্রয়োগ করি। তিনটি ভেরিয়েবল এখানে “Xvalue1”, “Xvalue2”, এবং “Xvalue3” নামে ঘোষণা করা হয়েছে। তারপর, আমরা 'cout' রাখি এবং 'এখানে দুটি মান লিখুন' বার্তা প্রদর্শন করি।

এই বার্তাটি প্রদর্শন করার পরে, ব্যবহারকারী সেই মানগুলি প্রবেশ করে যা আমরা cin এর সাহায্যে পাই। সুতরাং, আমরা এর নীচে 'cin' রাখি। উভয় মান এখন এই ভেরিয়েবলে সংরক্ষিত আছে এবং এখানেও প্রদর্শিত হয়। এখন, আমাদের 'XOR' অপারেশনটি প্রয়োগ করতে হবে, তাই আমরা 'Xvalue1' এবং 'Xvalue2' ভেরিয়েবলের মধ্যে '^' অপারেটর সন্নিবেশ করি।

এখন, এই 'XOR' অপারেশনটি এই ভেরিয়েবলের মানগুলিতে প্রয়োগ করা হয়। এই 'XOR' অপারেটরের ফলাফল তারপর 'Xvalue3' ভেরিয়েবলে সংরক্ষিত হয়। আমরা 'cout' পদ্ধতি ব্যবহার করে এটি প্রদর্শন করি।

কোড 4:

#অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( )

{

int Xvalue1 , Xvalue2 , Xvalue3 ;

cout << 'এখানে মান দুটি মান লিখুন: ' << endl ;

cout << 'Xvalue1:' ;

খাওয়া >> Xvalue1 ;

cout << 'Xvalue2:' ;

খাওয়া >> Xvalue2 ;

Xvalue3 = Xvalue1 ^ Xvalue2 ;

cout << ' \n এখন, উভয় মানের উপর XOR প্রয়োগ করার পরে: ' << endl ;

cout << 'Xvalue1 ^ Xvalue2 = ' << Xvalue3 << endl ;

}

আউটপুট:

যখন আমরা এই কোডটি কার্যকর করি, তখন এটি দুটি মান প্রবেশের জন্য একটি বার্তা প্রিন্ট করে। সুতরাং, আমরা 'Xvalue1' ভেরিয়েবলের মান হিসাবে '14' এবং 'Xvalue2' ভেরিয়েবলের মান হিসাবে '45' লিখি। তারপর, আমরা 'এন্টার' টিপুন। 'XOR' অপারেশনটি তারপর এই মানগুলিতে প্রয়োগ করা হয় যা উভয় মানকে বাইনারিতে রূপান্তর করে এবং তারপর ফলাফলটি এখানে প্রদর্শন করে।

উদাহরণ 5:

আমরা এই 'XOR' অপারেশনটি অক্ষর ডেটাতে প্রয়োগ করি। আমরা 'ch_a' এবং 'ch_b' নামের দুটি 'char' ভেরিয়েবল শুরু করি। আমরা এই ভেরিয়েবলগুলিতে যথাক্রমে 'a' এবং '8' বরাদ্দ করি। তারপর, আমরা '^' অপারেটরটিকে 'ch_a' এবং 'ch_b' এর মধ্যে রাখি এবং এটিকে 'ch_result' ভেরিয়েবলে বরাদ্দ করি যা 'char' ডেটা টাইপও। এই অক্ষরগুলিকে বাইনারিতে রূপান্তরিত করা হয় এবং ফলাফল 'ch_result' ভেরিয়েবলে সংরক্ষিত হয়। তারপর আমরা উভয় ভেরিয়েবল এবং এই 'XOR' অপারেশনের ফলাফল প্রিন্ট করি।

কোড 5:

# অন্তর্ভুক্ত করুন

নামস্থান std ব্যবহার করে ;

int প্রধান ( ) {

চর ch_a = 'ক' ;

চর ch_b = '8' ;

চর ch_result = ch_a ^ ch_b ;

cout << 'প্রথম অক্ষরটি হল:' << ch_a << endl ;

cout << 'দ্বিতীয় চরিত্র হল:' << ch_b << endl ;

cout << 'ফলাফল হলো : ' << ch_result << endl ;

}

আউটপুট:

ইনপুট অক্ষরগুলি হল 'a' এবং '8' এবং 'XOR' এর ফলাফল 'Y' হিসাবে প্রদর্শিত হয় যা আমরা 'XOR' অপারেশন প্রয়োগ করার পরে পাই যা 'a' এবং '8' কে বাইনারিতে রূপান্তর করে এবং তারপরে ' XOR' অপারেশন।

উপসংহার

'XOR' অপারেশনটি এখানে পুঙ্খানুপুঙ্খভাবে অন্বেষণ করা হয়েছে এবং আমরা ব্যাখ্যা করেছি যে এটি 'বিটওয়াইজ' অপারেশন কারণ এটি বাইনারি মানগুলি ব্যবহার করে। আমরা আলোচনা করেছি যে 'XOR' অপারেশন প্রয়োগ করার জন্য আমরা প্রবেশ করা সমস্ত মানগুলি বাইনারি মানগুলিতে রূপান্তরিত হয় এবং তারপর 'XOR' অপারেশনটি সঞ্চালিত হয়। আমরা বেশ কয়েকটি উদাহরণ প্রদর্শন করেছি এবং দেখিয়েছি কিভাবে 'XOR' অপারেশন C++ প্রোগ্রামিং-এ কাজ করে।