শুরুতে, আসুন আমরা বুঝতে পারি বাইনারি সংখ্যায় শূন্যগুলি কী কী।
পরবর্তী শূন্য
সর্বনিম্ন উল্লেখযোগ্য বিট (LSB) থেকে প্রথমটির পরে শূন্যের অবস্থানকে বাইনারি সংখ্যায় ট্রাইলিং শূন্য বলা হয়।
উদাহরণ
104 হল দশমিক সংখ্যা
104 এর বাইনারি সংখ্যা হল:(MSB) 1101000(LSB)
এখানে,
- MSB বলতে সবচেয়ে গুরুত্বপূর্ণ বিট বোঝায়।
- এলএসবি সর্বনিম্ন উল্লেখযোগ্য বিট বোঝায়।
- প্রথম বিট সেটের পরে এলএসবি থেকে, তিনটি শূন্য রয়েছে।
- পরবর্তী শূন্যের সংখ্যা তিনটি।
উদাহরণ
একটি প্রদত্ত সংখ্যা -
-এর জন্য অনুগামী শূন্যের সংখ্যা গণনা করার প্রোগ্রামটি নিচে দেওয়া হল#include<stdio.h> #include<stdlib.h> int main(){ int number, i, trail = 0, size; printf("Enter a number\n"); scanf("%d",&number); size = sizeof(number) * 8; for(i = 0; i < size; i++){ if((number >> i) & 1) { break; } trail++; } printf("Number of trailing ZERO is = %d", trail); return 0; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter a number 24 Number of trailing ZERO is = 3
প্রধান শূন্য
যদি শূন্যের অবস্থান এক বিটের আগে সেট করা হয় , তাদেরকে অগ্রণী শূন্য বলা হয়।
উদাহরণ
94 হল দশমিক সংখ্যা।
94 এর বাইনারি সংখ্যা হল:(MSB) .....001011110(LSB)
অগ্রণী শূন্যের সংখ্যা হল =25
প্রোগ্রাম
একটি প্রদত্ত সংখ্যার জন্য অগ্রণী শূন্যের সংখ্যা গণনা করার প্রোগ্রামটি নীচে দেওয়া হল।
#include<stdio.h> #include<stdlib.h> int main(){ int number, i, lead = 0, Msb,size; printf("Enter a number\n"); scanf("%d",&number); size = sizeof(number) * 8; Msb=1<<(size-1); for(i = 0; i < size; i++){ if((number << i) & Msb) { break; } lead++; } printf("Number of Leading ZERO is = %d", lead); return 0; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter a number 94 Number of Leading ZERO is = 25