কম্পিউটার

গঠন ধারণা ব্যবহার করে সি ভাষায় বিট ক্ষেত্র ব্যাখ্যা করুন


বিট ক্ষেত্রটি বিটের পরিপ্রেক্ষিতে ভেরিয়েবলের আকার নির্দিষ্ট করার জন্য ব্যবহৃত হয়। সাধারণত, এটি একটি কাঠামোর ভিতরে সংজ্ঞায়িত করা হয়।

  • বিট ক্ষেত্র:1 বাইট =8 বিট

উদাহরণস্বরূপ,

একটি উদাহরণ নীচে ব্যাখ্যা করা হয়েছে -

Struct info{
   int x:2;
};

এখানে, x 2 বিট দখল করছে।

এটির পরিসরের বাইরে একটি বিট ফিল্ডে কোনো মান বরাদ্দ করা অবৈধ৷

আমরা বিট ফিল্ডের মান ইনপুট করার জন্য স্ক্যানফ স্টেটমেন্ট ব্যবহার করতে পারি না কারণ, সাইজ এবং অ্যাড্রেস অপারেটর বিট ফিল্ডে প্রযোজ্য হতে পারে না।

আমরা একটি বিট ফিল্ডে যে ডেটা প্রকারগুলি বরাদ্দ করতে পারি তা হতে পারে int, স্বাক্ষরিত int, আনসাইনড int৷

প্রোগ্রাম

আনসাইনড ইনটের জন্য C প্রোগ্রামটি নিচে দেওয়া হল −

#include<stdio.h>
struct info{
   unsigned int x:3;// assign bit field to unsigned int inside structure
};
main(){
   struct info i;
   i.x=8;
   printf("%d",i.x);
}

আউটপুট

আউটপুট নিম্নরূপ &miuns;

0

ব্যাখ্যা

  • স্বাক্ষরবিহীন int-এর রেঞ্জ সূত্র হল 0 থেকে 2n-1 এবং n=বিটগুলির সংখ্যা৷

  • এখানে, n=3, অর্থাৎ স্বাক্ষরবিহীন int হল 0 থেকে 23 -1 এর মধ্যে, যা 0 থেকে 7 এর সমান।

গঠন ধারণা ব্যবহার করে সি ভাষায় বিট ক্ষেত্র ব্যাখ্যা করুন

প্রোগ্রাম

int-এর জন্য নীচে দেওয়া প্রোগ্রামটি পড়ুন −

#include<stdio.h>
struct info{
   int x:3;// assign bit field to int inside structure
};
main(){
   struct info i;
   i.x=4;
   printf("%d",i.x);
}

আউটপুট

আপনি নিম্নলিখিত আউটপুট পাবেন -

-4

ব্যাখ্যা

  • স্বাক্ষরিত int =(-2(n-1)+1) থেকে 2n-1-এর জন্য রেঞ্জ সূত্র, যেখানে n বিটের সংখ্যা নয়।
  • প্রোগ্রামে, n=3
  • সূত্রে এটি প্রতিস্থাপন করুন এবং আমাদের নিম্নলিখিত ফলাফল রয়েছে -
=(-2(3-1)+1) to 23-1
=(-22+1) to 22
= -3 to 4 i.e., -3,-2,-1,0,1,2,3,4,

  1. সি ভাষায় পয়েন্টার ব্যবহার করে গাণিতিক ক্রিয়াকলাপ ব্যাখ্যা কর?

  2. সি প্রোগ্রামিং ভাষায় পয়েন্টারগুলির বিন্যাস ব্যাখ্যা কর

  3. সি ভাষায় ইউনিয়নকে পয়েন্টার ব্যাখ্যা কর

  4. সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর