1. বিটওয়াইজ &
অপারেটর
আমরা আগে বলেছিলাম যে সমস্ত ডেটা বাইনারি উপস্থাপনায় মেমরিতে সংরক্ষণ করা হয়। তাই বেশ অনেক দিন আগে, প্রোগ্রামাররা বাইনারি সংখ্যার সাথে কাজ করার জন্য অনেক আকর্ষণীয় উপায় নিয়ে এসেছিল। উদাহরণস্বরূপ, জাভাতে লজিক্যাল অপারেটর রয়েছে যেগুলি একটি সংখ্যার বাইনারি উপস্থাপনার বিটের উপর কাজ করে: &
(AND), | (OR)
, ~
(NOT or complement) এবং ^
(XOR - এক্সক্লুসিভ বা)।
a & b
এই অপারেটরটি লজিক্যাল (AND) অপারেটরের অনুরূপ &
, শুধুমাত্র এটি একটি একক অ্যাম্পারস্যান্ড দ্বারা চিহ্নিত করা হয়, দুটি নয়:
এবং এটি পৃথক বিট প্রয়োগ করা হয়. প্রতিটি অপারেন্ডকে বিটগুলির একটি অ্যারে হিসাবে বিবেচনা করা হয় এবং i
ফলাফলের তম বিটটি i
দুটি অপারেন্ডের প্রতিটির তম বিট ব্যবহার করে গণনা করা হয়।
ফলাফলের প্রথম বিটটি সংখ্যার প্রথম বিট a
এবং সংখ্যার প্রথম বিটের উপর ভিত্তি করে গণনা করা হবে b
, দ্বিতীয় বিট — সংখ্যার দ্বিতীয় বিট a
এবং সংখ্যার দ্বিতীয় বিট b
ইত্যাদির উপর ভিত্তি করে।
(AND) অপারেটর &
মানে "সংখ্যাটির সংশ্লিষ্ট বিটটি একের সমান হলেই ফলাফলপ্রাপ্ত বিটটি a
একের AND
সমান b
হয়":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
উদাহরণ:
উদাহরণ | ফলাফল |
---|---|
|
|
|
|
|
|
|
|
2. বিটওয়াইজ |
অপারেটর
এই অপারেটরটি লজিক্যাল |
(OR) অপারেটরের সাথে খুব মিল, শুধুমাত্র এটি একটি একক উল্লম্ব লাইন দ্বারা চিহ্নিত করা হয়, দুটি নয়:
a | b
এবং এটি পৃথক বিট প্রয়োগ করা হয়. প্রতিটি অপারেন্ডকে বিটের একটি অ্যারে হিসাবে বিবেচনা করা হয় এবং ফলাফলের ith বিট দুটি অপারেন্ডের প্রতিটির ith বিট ব্যবহার করে গণনা করা হয়।
বিটওয়াইজ (OR) অপারেটর মানে " সংখ্যাটির সংশ্লিষ্ট বিট একের সমান |
হলে ফলাফলের বিটটি একের সমান":a
OR
b
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
উদাহরণ:
উদাহরণ | ফলাফল |
---|---|
|
|
|
|
|
|
|
|
শুধুমাত্র যখন উভয় সংখ্যার সংশ্লিষ্ট বিট (একই অবস্থানে থাকা বিট) শূন্য হয় ফলাফলের সংশ্লিষ্ট বিট শূন্যের সমান।
3. বিটওয়াইজ ^
(XOR বা "এক্সক্লুসিভ বা") অপারেটর
অপারেটর XOR
, এছাড়াও একচেটিয়া উচ্চারিত হয় বা , চিহ্ন দ্বারা চিহ্নিত করা হয় ^
। এটি কীবোর্ডে প্রবেশ করতে, shift + 6 টিপুন (একটি ইংরেজি কীবোর্ড লেআউটে)।
a ^ b
এই অপারেটরটি অপারেটরের সাথে কিছুটা সাদৃশ্যপূর্ণ OR
, যার মধ্যে এটির একটি অনুরূপ নাম রয়েছে:XOR
বিটওয়াইজ ^
(XOR) অপারেটরের অর্থ হল "ফলিত বিটটি একের সমান যদি সংখ্যাটির সংশ্লিষ্ট বিটটি a
একের সমান হয় এবং একই সময়ে উভয়টি না হলেও OR
সংখ্যাটির সংশ্লিষ্ট বিটটি একের সমান হয়":b
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
উদাহরণ:
উদাহরণ | ফলাফল |
---|---|
|
|
|
|
|
|
|
|
উভয় সংখ্যার সংশ্লিষ্ট বিট (একই অবস্থানে থাকা বিট) ভিন্ন হলেই ফলাফলের সংশ্লিষ্ট বিট একের সমান । যদি বিটগুলি একই হয় , ফলে বিটটি শূন্যের সমান ।
4. Bitwise ~
(NOT, Complement) অপারেটর
আমি মনে করি আপনি ইতিমধ্যে এটা কি অনুমান করতে পারেন. এই অপারেটরটি যৌক্তিক !
(NOT) অপারেটরের সাথে খুব সাদৃশ্যপূর্ণ, তবে এটি একটি টিল্ড দ্বারা চিহ্নিত করা হয় , একটি বিস্ময়বোধক বিন্দু নয়:
~a
এটি একটি unary অপারেটর, যার মানে এটি একটি একক সংখ্যার জন্য প্রযোজ্য, দুটি নয়। এটি এই একক অপারেন্ডের আগে উপস্থিত হয়।
বিটওয়াইজ ~
অপারেটর মানে "সংখ্যাটির সংশ্লিষ্ট বিটটি a
শূন্য হলে ফলাফল বিটটি এক হয় এবং সংখ্যাটির সংশ্লিষ্ট বিটটি a
এক হলে এটি শূন্য":
~1 = 0
~0 = 1
উদাহরণ:
উদাহরণ | ফলাফল |
---|---|
|
|
|
|
|
|
|
|
এই অপারেটরটি কেবল বিট পরিবর্তন করে এবং বিটগুলিকে পরিবর্তন 1
করে ।0
0
1
GO TO FULL VERSION