Bit Field ها در زبان C – آموزش زبان C

c bit fields 4151 Bit Field ها در زبان C   آموزش زبان C

Bit Field ها در زبان C

فرض کنید برنامه شما شامل یک ساختار با نام status و تعدادی متغیر عضو TRUE / FALSE باشد. مانند نمونه زیر:

ساختار بالا در حالت عادی به ۸ بایت از فضای حافظه نیاز دارد، اما ما فقط می خواهیم مقادیر ۰ و ۱ را در این دو متغیر ذخیره کنیم. در چنین شرایطی زبان برنامه نویسی C راه بهتری را ارائه می دهد. اگر از این متغیرها درون ساختار استفاده می کنید، می توانید تعداد بایت هایی که آن متغیرها می گیرند را تنظیم کنید. مانند نمونه زیر:

ساختار بالا برای ذخیره متغیرها به ۴ بایت از فضای حافظه نیاز دارد، اما برای ذخیره مقادیر این متغیرها فقط ۲ بیت استفاده می شود. مثال زیر نحوه کارکرد Bit Field ها را نشان می دهد:

امتحان کنید

زمانی که کد بالا توسط کامپایلر C و اجرا شود، نتیجه زیر را تولید خواهد کرد:

اعلان Bit Field

شکل کلی اعلان Bit Field به صورت زیر می باشد:

توضیحات اعلان بالا را در جدول زیر مشاهده می کنید:

ردیفتوضیحات
۱type

یک نوع integer می باشد که نوع تفسیر bit field را تعیین می کند.

۲member_name

نام bit field را مشخص می کند.

۳width

تعداد بیت در bit field را مشخص می کند، تعداد بیت ها باید کمتر یا برابر با type باشد.

متغیری که با تعداد بیت مشخص شده تعریف شود، Bit Field نامیده می شود. یک bit field می تواند بیش از یک بیت را نگه دارد. مثلا اگر شما یک متغیر برای ذخیره یک مقدار از ۰ تا ۷ نیاز دارید، می توانید یک bit field با عرض ۳ بیت به صورت زیر تعریف کنید:

struct

ساختار فوق به کامپایلر می گوید که متغیر age فقط ۳ بیت برای ذخیره سازی مقدار استفاده می کند و امکان استفاده از بیش از ۳ بیت وجود ندارد. مثال زیر این موضوع را به خوبی نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:


باکس دانلود
شناسه:
۴۱۵۱
لینک دانلود:
روی دکمه G+1 برای محبوب کردن سایت کلیک کرده سپس از لینک زیر دانلود را انجام دهید
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است