بایت

یکای اطلاعات و ذخیره سازی در رایانه
(تغییرمسیر از شرتابایت)

بایت یکی از یکاهای اساسی سنجش مقدار داده‌ها در رایانه و به معنی کوچکترین واحد قابل آدرس‌دهی (addressable) اطلاعات است که در رایانه‌های امروزی عموماً به صورت هشت بیت متوالی در نظر گرفته می‌شود.[۱] همچنین در بسیاری از زبان‌های برنامه‌نویسی، یک نوع داده (به انگلیسی: Data Type) صحیحی با این نام وجود دارد.[۲]

مقادیر بایت‌ها
ده‌دهی دودویی نامشخص
نام
(نماد)
استاندارد
بین‌المللی
نام
(نماد)

مقدار
کاربرد عمومی
(در‌کشورها)
مقدار
کیلوبایت (kB) ۱۰۳ کیبی‌بایت (KiB) ۲۱۰ کیلوبایت (KB) ۲۱۰
مگابایت (MB) ۱۰۶ مبی‌بایت (MiB) ۲۲۰ مگابایت (MB) ۲۲۰
گیگابایت (GB) ۱۰۹ گیبی‌بایت (GiB) ۲۳۰ گیگابایت (GB) ۲۳۰
ترابایت (TB) ۱۰۱۲ تبی‌بایت (TiB) ۲۴۰ ترابایت (TB) ۲۳۰*۱۰۳
پتابایت (PB) ۱۰۱۵ پبی‌بایت (PiB) ۲۵۰ پتابایت (PB) ۲۳۰*۱۰۶
اگزابایت (EB) ۱۰۱۸ اگزبی‌بایت (EiB) ۲۶۰ اگزابایت (EB) ۲۳۰*۱۰۹
زتابایت (ZB) ۱۰۲۱ زبی‌بایت (ZiB) ۲۷۰ زتابایت (ZB) ۲۳۰*۱۰۱۲
یوتابایت (YB) ۱۰۲۴ یوبی‌بایت (YiB) ۲۸۰ یوتابایت (YB) ۲۳۰*۱۰۱۵
سوتابایت (SB) ۱۰۲۷ سوبی‌بایت (SiB) ۲۹۰ سوتابایت (SB) ۲۳۰*۱۰۱۸

یک بایت معادل یک نویسه است و در پردازنده‌های ۸ بیتی برابر با طول ثبات‌ها، تعداد بیت‌های قابل محاسبه در واحد محاسبه و منطق پردازنده، تعداد خطوط مسیر داده (به انگلیسی: Data Bus) یا تعداد خطوط مسیر آدرس (به انگلیسی: Address Bus) است.

نماد بایت به صورت حرف بزرگ B توسط کمیسیون بین‌المللی الکتروتکنیک (IEC) و موسسه مهندسان برق و الکترونیک (IEEE) پذیرفته شده است.[۳] در سطح بین‌المللی، واحد اکتت به وضوح دنباله‌ای از هشت بیت را تعریف می‌کند و ابهام احتمالی اصطلاح «بایت» را برطرف می‌کند.[۴] نماد «o» برای نشان دادن اکتت نیز به منظور برطرف کردن ابهام نماد «B» بین بایت و بلم مناسب است.

ابهام‌زدایی

ویرایش

در مورد مقیاس‌های بزرگتر (مضارب بایت)، از دو تعریف متفاوت استفاده می‌شود که اولی مبتنی بر توان‌هایی از عدد ۲ است؛ مثلاً کیلوبایت برابر با ۲۱۰ و مگابایت برابر با ۲۲۰ است. در این تعریف از دستگاه اعداد دودویی استفاده شده‌است. اما، تعریف دوم مبتنی بر دستگاه اعداد دهدهی است و از توان‌های ۱۰ برای بیان حجم داده‌های دیجیتال استفاده می‌کند. بدین ترتیب، برای مثال پیشین، کیلوبایت معادل ۱۰۳ و مگابایت برابر با ۱۰۶ خواهد بود. گفتنی است که کاربرد یکی از این دو تعریف بستگی به کاربرد آن دارد. بدین صورت که برای بیان گنجایش حافظه دیسک سخت و حجم داده‌های انتقال در مخابرات و شبکه‌های رایانه‌ای از توان ۱۰ ولی برای بیان ظرفیت حافظه تصادفی رایانه (به انگلیسی: RAM) از توان دودویی آن استفاده می‌شود.[۵]


استفاده عمومی

ویرایش

بسیاری از زبان‌های برنامه‌نویسی نوع داده byte را تعریف می‌کنند.

در زبان‌های برنامه‌نویسی C و C++، بایت به عنوان «واحد قابل آدرس‌دهی ذخیره‌سازی داده، به اندازه کافی بزرگ برای ذخیره هر عنصر از مجموعه اصلی کاراکترهای محیط اجرا» تعریف می‌شود[۶][۷] (بند 3.6 استاندارد C). استاندارد C نیاز دارد که نوع داده عدد صحیح unsigned char بتواند حداقل 256 مقدار مختلف را ذخیره کند و حداقل با هشت بیت نمایش داده شود (بند 5.2.4.2.1). اجراهای مختلف C و C++ برای ذخیره یک بایت، 8، 9، 16، 32 یا 36 بیت را اختصاص می‌دهند.[۸] علاوه بر این، استانداردهای C و C++ نیاز دارند که بین دو بایت فاصله‌ای وجود نداشته باشد. این به این معناست که هر بیت در حافظه بخشی از یک بایت است.

در Java، نوع داده اولیه byte به عنوان هشت بیتی تعریف می‌شود. این یک نوع داده علامت‌دار است که مقادیر از −128 تا 127 را می‌پذیرد.

زبان‌های برنامه‌نویسی .NET مانند C#، byte را به عنوان یک نوع بدون علامت و sbyte را به عنوان یک نوع داده علامت‌دار تعریف می‌کنند که به ترتیب مقادیر از 0 تا 255 و از −128 تا 127 را می‌پذیرند.

در سیستم‌های انتقال داده، بایت به عنوان یک دنباله پیوسته از بیت‌ها در جریان داده سریال استفاده می‌شود که کوچکترین واحد قابل تمایز داده است.[۹][۱۰] برای ارتباطات آسنکرون، واحد کامل انتقال معمولاً شامل یک بیت شروع، 1 یا 2 بیت توقف و احتمالاً یک بیت توازن نیز می‌شود، بنابراین اندازه آن می‌تواند از هفت تا دوازده بیت برای پنج تا هشت بیت داده واقعی تغییر کند.[۱۱] برای ارتباطات سنکرون، بررسی خطا معمولاً از بایت‌ها در انتهای یک فریم استفاده می‌کند.

منابع

ویرایش
  1. Buchholz, Bemer (۱۹۶۲ میلادی). "Planning a Computer System" (به انگلیسی). Archived from the original on 23 October 2012. Retrieved 20 February 2012. {{cite web}}: Check date values in: |تاریخ= (help)
  2. مشارکت‌کنندگان ویکی‌پدیا. «نوع داده صحیح «بایت» در زبان‌های برنامه‌نویسی». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۲۰ فوریه ۲۰۱۲.
  3. «Prefixes for binary multiples». physics.nist.gov. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  4. «Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters». www.tcpipguide.com. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  5. «تعریف پیشوند یکاهای «بایت» در وبگاه «whatsabyte»». بایگانی‌شده از اصلی در ۲۱ ژوئیه ۲۰۱۳. دریافت‌شده در ۲۰ فوریه ۲۰۱۲.
  6. «What is a ""byte"" in C / C++». stackoverflow.com. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  7. «How many bytes does the C language char occupy?». www.codeshelper.com. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  8. «Okay, I could imagine a machine with 9-bit bytes. But surely not 16-bit bytes or 32-bit bytes, right?». isocpp.org. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  9. «What is data transmission?». www.pubnub.com. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  10. «How Much Is 1TB Of Data Storage». www.filemail.com. دریافت‌شده در ۶ دسامبر ۲۰۲۴.
  11. «Serial Data Format». www.ece.northwestern.edu. دریافت‌شده در ۶ دسامبر ۲۰۲۴.