مفاهیم Little Endian و Big Endian

در رایانه ها مفهوم Endianness به روش هایی برای نگهداری داده های چند بایتی مانند int و float گفته می شود که از سیستم عاملی به دیگری تفاوت دارد. توجه کنید گونه های داده (Data Type)، اندازه های گوناگونی از فضای آدرس را در بر می گیرند. برای نمونه int و float چهار بایت یا 32 بیت و short int دو بایت یا 16 بیت و char یک بایت یا 8 بیت را برای خود بر می دارند.

هر 8 بیت برابر با یک بایت و هر 16 بیت برابر با دو بایت یک Word است

زمانی که در هر زبان برنامه نویسی (در اینجا پایتون) متغیری مانند var = 1025 را می سازید، مفسر پایتون یا کامپایلر سی پلاس پلاس، بخشی از فضای آدرس حافطه اصلی (RAM) را به آن می دهد. برای نمونه در اینجا چون var مقدار شماره صحیح 1025 را گرفته، پس باید 4 بایت از حافظه اصلی به آن داده شود. همچنین خود داده در حافظه نگهداری نمی شود، بلکه ریختِ (شکل یا صورت) دودویی آن در حافظه نگهداری خواهد شد.

توجه کنید می توانیم حافظه اصلی را به مانند یک آرایه بزرگ از بایت ها (توالی 8 بیتی) بدانیم. برای دسترسی به هر خانه یا سلول حافظه، شماره آدرس که شماره ای هگزا دسیمال است را به کار می بریم. بنابراین مفهوم Endianness به مرتب سازی بایت ها (یا توالی از بیت ها) در ریخت یا نمایش دودویی از یک داده گفته می شود. این مفهوم به دو روش Little Endian و Big Endian دسته بندی می شود.

هر خانه یا سلول حافظه یک 8 بیت یا یک بایت و دارای یک شماره آدرس است.

شکل های زیر فضای آدرس (Address Space) و روش های Little Endian و Big Endian را نشان می دهند و همانگونه که می بینید نخستین شماره هگزا دسیمال آدرس، 0x00000000 در پایین آرایه حافظه است. همچنین شماره زیر ریخت دودویی شماره 1025 است که شامل 4 تا 8 بیتی است.

00000001 00000000 00000100 00000000 00000000

سمت راست ترین بایت، 00000001 همان LSB (یا ) و سمت چپ ترین بایت همان MSB (یا ) هستند. بر با پایه نخستین شکل زیر، در روش Little Endian، بیت LSB، نخست در خانه حافظه (با شماره آدرس کوچکتر) نگهداری می شود. ولی بر پایه دومین شکل زیر، در روش Big Endian، بیت MSB (سمت چپ ترین) نخست در حافظه (با شماره آدرس کوچکتر) نگهداری می شود.

شیوه Little Endian
شیوه Little Endian
شیوه Big Endian
شیوه Big Endian

توجه کنید بی توجه به اینکه سیستم عامل کدام روش را به کار می برد، این هیچ تاثیری بر روی داده دودویی ندارد بلکه این دو روش چگونگی نگهداری داده را نشان می دهند. دو سیستم عامل ویندوز و لینوکس شیوه Little Endian و سولاریس شیوه Big Endian را به کار می برند. شکل زیر چکیده ای از این دو روش را نشان می دهد.

منبع شکل ها

نویسنده مطلب: برنامه نویسی و مفاهیم رایانه

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظرات
  1. سجاد می گوید

    00000001 00000000 00000100 00000000 00000000

    این اشتباهه عزیز من

    00000001 00000100 00000000 00000000

    این درسته

نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.