কম্পিউটার টিউটোরিয়াল

স্ট্রাকচার কনসেপ্ট ব্যবহার করে সি ভাষায় বিট ফিল্ড ব্যাখ্যা


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

  • ১ বাইট = ৮ বিট

উদাহরণ

struct info {
    int x:2;
};

এখানে x ২ বিট ঘেরে। বিট ফিল্ডের রেঞ্জের বাইরে মান অ্যাসাইন করা অবৈধ। বিট ফিল্ডের জন্য scanf ব্যবহার করা যায় না কারণ সাইজ অফ এবং অ্যাড্রেস অপারেটর বিট ফিল্ডে প্রযোজ্য নয়। বিট ফিল্ডের জন্য ডেটা টাইপ: int, signed int, unsigned int।

প্রোগ্রাম: অনসাইনড ইন্ট বিট ফিল্ড

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

আউটপুট: 0

ব্যাখ্যা: অনসাইনড ইন্টের রেঞ্জ ফর্মুলা: 0 থেকে 2^n-1 (n=বিট সংখ্যা)। এখানে n=3, অর্থাৎ 0 থেকে 7। ৮ আউট অফ রেঞ্জ, তাই ০ দেখায়।

প্রোগ্রাম: সাইনড ইন্ট বিট ফিল্ড

#include<stdio.h>
struct info {
    int x:3;
};
main() {
    struct info i;
    i.x = 4;
    printf("%d", i.x);
}

আউটপুট: -4

ব্যাখ্যা: সাইনড ইন্টের রেঞ্জ: -2^(n-1) থেকে 2^(n-1)-1। n=3 হলে রেঞ্জ -4 থেকে 3। ৪ আউট অফ রেঞ্জ, তাই -4 দেখায় (ওভারফ্লো)।

  1. সি ভাষায় পয়েন্টার দিয়ে অ্যারিথমেটিক অপারেশন

  2. C প্রোগ্রামিং ভাষায় অ্যারে অফ পয়েন্টার্স ব্যাখ্যা

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

  4. সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা