بالاترین سوالات
زمانبندی
چت
دیدگاه

بایت

یکای اطلاعات و ذخیره سازی در رایانه از ویکی‌پدیا، دانشنامه آزاد

Remove ads

بایت یکی از یکاهای اساسی سنجش مقدار داده‌ها در رایانه‌های امروزی است.[۱] یک بایت به طور معمول از هشت بیت تشکیل می‌شود. از نظر تاریخی، بایت تعداد بیت‌هایی بود که برای کدگذاری یک کاراکتر متنی در رایانه استفاده می‌شد[۲][۳] و به همین دلیل کوچک‌ترین واحد قابل آدرس‌دهی حافظه در بسیاری از معماری‌های رایانه به‌شمار می‌رفت.

همچنین در بسیاری از زبان‌های برنامه‌نویسی، یک نوع داده (به انگلیسی: Data Type) صحیحی با این نام وجود دارد.[۴]

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

اطلاعات اجمالی بایت, سامانه‌های اندازه‌گیری ...

برای تمایز تعریف متداول ۸ بیتی از بایت‌هایی با اندازه دلخواه، در مستندات شبکه (مانند پروتکل اینترنت)، یک بایت ۸ بیتی را اکتت خطاب می‌کنند.[۵] در یک اکتت، این بیت‌ها معمولاً بسته به روش شماره‌گذاری بیت، از ۰ تا ۷ یا به طور معکوس، از ۷ تا ۰ شماره‌گذاری می‌شوند.

اندازه بایت در گذشته وابسته به سخت‌افزار بود و استاندارد قطعی‌ای وجود نداشت که اندازه را الزاماً مشخص کند و اندازه‌هایی بین ۱ تا ۴۸ بیت به کار رفته‌اند.[۶][۷][۸][۹] در اوایل سیستم‌های کدگذاری، کد نویسه شش‌بیتی مکرراً استفاده می‌شده و رایانه‌هایی که از بایت‌های شش‌بیتی و ۹ بیتی استفاده می‌کردند در دهه ۱۹۶۰ بسیار رایج بودند. این سیستم‌ها غالباً کلمات حافظه‌ای با اندازه ۱۲، ۱۸، ۲۴، ۳۰، ۳۶، ۴۸ یا ۶۰ بیت داشتند که متناظر با ۲، ۳، ۴، ۵، ۶، ۸ یا ۱۰ بایت شش‌بیتی بودند و گاهاً در سیستم‌های قدیمی تا قرن بیست و یک نیز دوام آوردند. در آن زمان و پیش از آنکه اصطلاح ”بایت“ فراگیر شود، دسته‌بندی بیت‌ها در جریان دستورها اغلب ”هجا“ یا ”slab“ نامیده می‌شد.[الف]

استاندارد مرسوم امروزی با اندازه هشت بیت، که در استاندارد ISO/IEC 2382-1:1993 نیز مستند شده، و یک روش توان دو است که بسیار آسان بوده و امکان نمایش مقادیر دودویی از ۰ تا ۲۵۵ را برای یک بایت فراهم می‌کند؛ زیرا ۲ به توان ۸ برابر ۲۵۶ است.[۱۰]

استاندارد بین‌المللی ایزو/آی‌ئی‌سی ۸۰۰۰۰-۱۳ نیز همین معنا را تثبیت کرده است. بسیاری از کاربردها از اطلاعاتی استفاده می‌کنند که در هشت بیت یا کمتر قابل ارائه و نمایش هستند و طراحان پردازنده نیز معمولاً محصولاتشان برای همین نوع کاربرد بهینه‌سازی می‌کنند. محبوبیت معماری‌های رایانه‌ای تجاری عمده در همه‌گیر شدن بایت ۸ بیتی سهیم بوده‌است.[۱۱] معماری‌های مدرن معمولاً از کلمه‌های ۳۲ بیتی یا ۶۴ بیتی استفاده می‌کنند که هرکدام به ترتیب از چهار یا هشت بایت ساخته شده‌اند.

نشان یکای بایت، حرف بزرگ B است که توسط کمیسیون بین‌المللی الکتروتکنیک (IEC) و انجمن مهندسان برق و الکترونیک (IEEE) تعیین شده‌است.[۱۲] در سطح بین‌المللی، واژه «اکتت» به‌صراحت، دنباله‌ای هشت‌بیتی را تعریف می‌کند و بدین ترتیب، ابهام واژه «بایت» را از میان می‌برد.[۱۳][۱۴] نشان اکتت، یعنی 'o'، همچنین ابهام نماد 'B' را که می‌تواند به بایت یا بل اشاره کند، برطرف می‌کند.

Remove ads

ریشه‌شناسی و تاریخچه

خلاصه
دیدگاه

وِرنِر بوخ‌هُلتس[ب] اصطلاح بایت را در ژوئن ۱۹۵۶[۶][۱۵][۱۶][پ] در مرحله اولیه طراحی رایانه آی‌بی‌ام ۷۰۳۰ ابداع کرد. این رایانه دارای آدرس‌دهی در سطح بیت و دستورهایی با طول میدان متغیر[ت] بود که اندازه بایت در خود دستور رمزگذاری می‌شد.[۱۵] نگارش متفاوت واژه bite به شکل byte از روی عمد و به منظور جلوگیری از تبدیل اتفاقی آن به bite صورت گرفت.[۲][۱۵][۱۷][ث]

پارامتر دیگری از خاستگاه اصطلاح بایت برای گروه‌های بیتی کوچک‌تر از اندازه کلمه رایانه (و به‌طور مشخص گروه‌های چهاربیتی) در سوابق مربوط به لویی جی. دولی آمده است. او مدعی بود این اصطلاح را طی سال‌های ۱۹۵۶ یا ۱۹۵۷ و زمانی که همراه با ژول شوارتز و دیک بیلر روی یک سامانه پدافند هوایی با نام سِیج[ج] در آزمایشگاه لینکلن ام‌آی‌تی کار می‌کرد به کار برده است. این سامانه بطور مشترک توسط رند کورپوریشن، ام‌آی‌تی و آی‌بی‌ام توسعه یافت.[۱۸][۱۹] بعدها، زبان جوویال که توسط شوارتز نوشته شده بود، این اصطلاح را واقعاً به کار گرفت، اما خود او صرفاً بصورت مبهم تصور میکند که این اصطلاح از AN/FSQ-31 به عاریه گرفته شده است.[۱۹][۲۰]

رایانه‌های اولیه از انواع گوناگونی از نمایش‌های چهاربیتی BCD و کدهای شش‌بیتی برای الگوهای گرافیکی قابل چاپ استفاده می‌کردند که در نیروی زمینی ایالات متحده (فیل‌دیتا) و نیروی دریایی ایالات متحده مرسوم بود. این نمایش‌ها شامل نویسه‌های حروف، ارقام و نشانه‌های ویژه بودند. در سال ۱۹۶۳، این مجموعه‌ها به کد هفت‌بیتی‌ای گسترش یافت که با نام اَسکی و به‌عنوان استاندارد پردازش اطلاعات فدرال شناخته می‌شد و جایگزین کدهای تله‌پرینترِ ناسازگاری شد که شاخه‌های مختلف دولت ایالات متحده و دانشگاه‌ها در دهه ۱۹۶۰ به کار می‌بردند. اَسکی تمایز حروف بزرگ و کوچک را به همراه مجموعه‌ای از کاراکترهای کنترلی فراهم آورد تا هم برای انتقال زبان نوشتاری مناسب باشد و هم عملکرد دستگاه‌های چاپ مانند رفتن به صفحه بعد یا سطر بعد، و نیز کنترل فیزیکی یا منطقی جریان داده در رسانه انتقال را فراهم کند.[۲۱] در اوایل دهه ۱۹۶۰ و همزمان با فعالیت در زمینه استانداردسازی اَسکی، آی‌بی‌ام در مجموعه محصولات سیستم/۳۶۰ خود، کد EBCDIC[چ] را معرفی کرد که گسترشی از نمایش‌های شش‌بیتی BCDIC[ح] بود که پیش‌تر در کارت‌های منگنه‌شده استفاده می‌شد.[۲۲]

رواج سامانه سیستم/۳۶۰ سبب شد اندازه ذخیره‌سازی هشت‌بیتی تقریباً همه‌جا پذیرفته شود،[۱۵][۲۱][۲۳] اگرچه در جزئیات، طرح‌های کدگذاری EBCDIC و اَسکی با هم تفاوت دارند.

در اوایل دهه ۱۹۶۰، ای‌تی‌اندتی در خطوط ترانک راه دور از تلفن دیجیتال استفاده کرد و در این خطوط از کدگذاری μ-law با اندازه هشت بیت بهره برد. این سرمایه‌گذاری کلان، نوید کاهش هزینه‌های انتقال داده‌های هشت‌بیتی را می‌داد.

در جلد اول کتاب هنر برنامه‌نویسی رایانه (که نخستین‌بار در سال ۱۹۶۸ منتشر شد)، دانلد کنوت از اصطلاح بایت در رایانه فرضی MIX برای اشاره به واحدی استفاده می‌کند که «شامل مقدار نامشخصی از اطلاعات ... قادر به نگهداری دست‌کم ۶۴ مقدار متمایز ... و در بیشترین حالت ۱۰۰ مقدار متمایز است. پس در یک رایانه دودویی، بایت باید از شش بیت تشکیل شود».[۲۴] او توضیح می‌دهد که «از حدود سال ۱۹۷۵ به بعد، واژه بایت به معنای توالی‌ای دقیقاً مشتمل بر هشت رقم دودویی درآمده است... هنگامی که در ارتباط با MIX از بایت سخن می‌گوییم، خود را به مفهوم پیشین این واژه محدود می‌کنیم و به روزگاری بازمی‌گردیم که بایت‌ها هنوز استاندارد نشده بودند».[۲۴]

پیشرفت ریزپردازنده‌های هشت‌بیتی در دهه ۱۹۷۰ باعث محبوبیت این اندازه ذخیره‌سازی شد. ریزپردازنده‌هایی مانند اینتل ۸۰۸۰ که نیای مستقیم ۸۰۸۶ بود، می‌توانستند تعداد محدودی عملیات را روی زوج‌های چهاربیتی در یک بایت انجام دهند و نمونه‌اش دستور decimal-add-adjust (DAA) بود. مقدار چهاربیتی معمولاً نیبل[خ] نامیده می‌شود که به‌سادگی با یک رقم هگزادسیمال نمایش داده می‌شود.

واژه octet به‌طور قطعی اندازه‌ای برابر با هشت بیت را مشخص می‌کند.[۱۴][۲۱] این واژه به‌طور گسترده در تعریف پروتکل‌ها به کار می‌رود.

از نظر تاریخی، دست‌کم در اروپای غربی از اصطلاح‌های octad یا octade هم برای اشاره به هشت بیت استفاده می‌شد؛[۲۵][۲۶] اما امروزه دیگر چندان رایج نیستند. خاستگاه دقیق این اصطلاح‌ها نامشخص است، اما در منابع انگلیسی، هلندی و آلمانی دهه‌های ۱۹۶۰ و ۱۹۷۰ و همچنین در مستندات رایانه‌های بزرگ فیلیپس دیده می‌شود.

Remove ads

نماد یکا

نماد یکا برای بایت در ایزو/آی‌ئی‌سی ۸۰۰۰۰-۱۳، آی‌تریپل‌ئی ۱۵۴۱ و قالب تبادل متریک[۱۲] به‌صورت حرف بزرگ B تعیین شده است.

در سیستم بین‌المللی اندازه‌گیری کمیت‌ها (ISQ)، B نماد بل نیز هست. بل یک یکای نسبت توان لگاریتمی است که به نام الکساندر گراهام بل نام‌گذاری شده و این موضوع با مشخصات IEC در تضاد است. با این حال، احتمال سردرگمی بسیار کم است، زیرا بل یکای کمیابی محسوب می‌شود. این یکا عمدتاً در کسری از مبانی دهدهی آن، یعنی دسی‌بل (dB)، برای اندازه‌گیری قدرت سیگنال و تراز فشار صوت به‌کار می‌رود. در حالی که واحد یک‌دهمِ بایت، decibyte، و دیگر کسرهای آن، تنها در یکاهای مشتق‌شده مانند نرخ‌های انتقال داده استفاده می‌شوند.

حرف کوچک o برای octet در ایزو/آی‌ئی‌سی ۸۰۰۰۰-۱۳ به‌عنوان نماد این یکا تعریف شده و معمولاً در زبان‌هایی مانند فرانسوی[۲۷] و رومانیایی استفاده می‌شود. این نماد می‌تواند با پیشوندهای متریک برای بیان مضرب‌ها ترکیب شود؛ برای نمونه ko و Mo.

Remove ads

چند-یکایی‌های بایت

خلاصه
دیدگاه

الگو:Redirect several

اطلاعات بیشتر ده‌دهی, مقدار ...

بیش از یک سامانه برای تعریف مضارب یکاهای مبتنی بر بایت وجود دارد. برخی سامانه‌ها بر پایه توان‌های ۱۰ شکل گرفته‌اند و از دستگاه بین‌المللی یکاها (SI) پیروی می‌کنند که برای نمونه، پیشوند «کیلو» را برابر با ۱۰۰۰ (۱۰ به توان ۳) تعریف می‌کند. درحالی‌که سامانه‌های دیگر بر پایه توان‌های ۲ هستند. نام‌گذاری این سامانه‌ها باعث سردرگمی شده است. در سامانه‌هایی که بر پایه توان‌های ۱۰ هستند، از پیشوندهای استاندارد SI (مانند «کیلو»، «مگا»، «گیگا» و ...) و نمادهای متناظر (k، M، G و ...) استفاده می‌شود. اما در سامانه‌هایی که بر پایه توان‌های ۲ هستند، یا از پیشوندهای دودویی («kibi»، «mebi»، «gibi» و ...) و نمادهای متناظرشان (Ki، Mi، Gi و ...) بهره می‌برند، یا از همان پیشوندهای K، M و G استفاده می‌کنند که در صورت استفاده از پیشوندهای M یا G منجر به ابهام خواهد شد.

درحالی‌که تفاوت میان تفسیر ده‌دهی و دودویی برای کیلوبایت نسبتاً کم است (حدود ۲٪ کمتر از کیبی‌بایت)، با افزایش اندازه واحدها، انحراف میان این دو بیشتر می‌شود (این اختلاف نسبی در هر سه مرتبه بزرگی، ۲٫۴٪ افزایش می‌یابد). برای نمونه، یک ترابایت بر پایه توان‌های ۱۰ حدوداً ۹٪ کوچک‌تر از یک تبی‌بایت بر پایه توان‌های ۲ است.

یکاهای بر پایه توان‌های ۱۰

تعریف پیشوندها بر پایه توان‌های ۱۰، که در آن ۱ «کیلوبایت» (نماد kB) برابر با ۱٬۰۰۰ بایت در نظر گرفته می‌شود، - توسط آی‌ئی‌سی ۸۰۰۰۰-۱۳ پیشنهاد شده است.[۲۸] استاندارد آی‌ئی‌سی هشت مضرب واحد از این دست را تا ۱ یوتابایت (YB) که برابر با ۱۰^۲۴ بایت است را تعریف می‌کند.[۲۹] پیشوندهای جدید «ronna-» برای ۱۰^۲۷ و «quetta-» برای ۱۰^۳۰ در سال ۲۰۲۲ توسط اداره بین‌المللی اوزان و مقیاس‌ها به تصویب رسید.[۳۰][۳۱]

این تعریف در کاربرد واحدهای نرخ داده در شبکه‌های رایانه‌ای، گذرگاه داخلی، سرعت انتقال هارد دیسک و رسانه‌های فلش و همچنین برای ظرفیت بیشتر رسانه‌های ذخیره‌سازی، به‌ویژه دیسک‌های سخت،[۳۲] حافظه فلش[۳۳] رایج‌تر است. سیستم‌عامل‌هایی که از این تعریف استفاده می‌کنند عبارت‌اند از مک‌اواس،[۳۴] آی‌اواس،[۳۴] اوبونتو[۳۵] و دبیان.[۳۶] این شیوه با دیگر کاربردهای پیشوندهای SI در رایانش، مانند سرعت ساعت پردازنده یا اندازه‌گیری توان عملیاتی شناور، نیز همخوانی دارد.

یکاهای بر پایه توان‌های ۲

سامانه‌ای از واحدها بر پایه توان‌های ۲ که در آن ۱ کیبی‌بایت (KiB) برابر با ۱٬۰۲۴ (یعنی ۲^۱۰) بایت است، در استاندارد بین‌المللی آی‌ئی‌سی ۸۰۰۰۰-۱۳ تعریف شده و توسط نهادهای ملی و بین‌المللی استاندارد (BIPM، IEC، NIST) پشتیبانی می‌شود. در این استاندارد نیز هشت مضرب یکا، تا میزان یک یوبی‌بایت (YiB) تعریف شده که برابر با ۱۰۲۴^۸ بایت است. جایگزین‌های دودویی طبیعی برای پیشوندهای «ronna-» و «quetta-» در یک مقاله مشورتی از «کمیته بین‌المللی وزن‌ها و اندازه‌ها» در واحدهای (CCU) با عناوین «robi-» (Ri، ۱۰۲۴^۹) و «quebi-» (Qi، ۱۰۲۴^۱۰) پیشنهاد شد اما هنوز توسط IEC یا ISO پذیرفته نشده‌اند.[۳۷]

یک سامانه نام‌گذاری دیگر (در اینجا با عنوان «قرارداد مرسوم» نامیده می‌شود) برای همین واحدها وجود دارد که در آن ۱ «کیلوبایت» (KB) برابر با ۱٬۰۲۴ بایت[۳۸][۳۹][۴۰] و ۱ «مگابایت» (MB) برابر با ۱۰۲۴^۲ بایت و ۱ «گیگابایت» (GB) برابر با ۱۰۲۴^۳ بایت است که در استاندارد JEDEC در دهه ۱۹۹۰ ذکر شده بود. این استاندارد تنها سه مضرب نخست (تا GB) یکاها را نام برده و به TB و مقادیر بزرگ‌تر اشاره‌ای نکرده است. هرچند این قرارداد گیج‌کننده و نادرست است،[۴۱] اما در مایکروسافت ویندوز[۴۲] و در ظرفیت RAM (مانند حافظه اصلی و حافظه نهان سی‌پی‌یو) و در حوزه بازاریابی و هزینه‌یابی شرکت‌های مخابراتی نظیر ودافون،[۴۳] ای‌تی‌اندتی،[۴۴] اورانژ[۴۵] و تلسترا[۴۶] به‌کار می‌رود.

برای کاربرد در بیان ظرفیت ذخیره‌سازی، قرارداد مرسوم تا نسخه «Mac OS X 10.5 لئوپارد» در مک‌اواس و نسخه ۱۰ در آی‌اواس استفاده می‌شد و پس از آن به واحدهای بر پایه توان‌های ۱۰ تغییر کرد.[۳۴]

واحدهای محلی

فروشندگان گوناگون رایانه، واژه‌های مختلفی را برای حجم‌های متفاوت داده معرفی کرده‌اند که گاه حتی در یک شرکت واحد هم ممکن است اندازه‌های یک واژه متفاوت باشد. این واژه‌ها شامل «double word»، «half word»، «long word»، «quad word»، «slab»، «superword» و «syllable» هستند. همچنین واژه‌های غیررسمی دیگری نیز وجود دارند؛ برای نمونه «نیم‌بایت» و «nybble» برای ۴ بیت، «octal K» برای ۱۰۰۰۸.

وضعیت تضاد بین تعاریف و استانداردها

Thumb
درصد اختلاف میان تفسیر ده‌دهی و دودویی پیشوندهای واحد با بزرگ‌تر شدن اندازه ذخیره‌سازی افزایش می‌یابد

رایانش عصر حاضر[د] دارای معماری آدرس‌دهی دودویی است و تعریف واحد حافظه بر پایه توان‌های ۲ را عملی‌تر می‌کند. استفاده از پیشوند متریک «کیلو» برای مضارب دودویی به‌دلیل تقریب عدد ۱۰۲۴ به ۱۰۰۰ رواج یافت.[۲۷] این تعریف در دهه‌های آغازین رایانه خانگی متداول شد و محصولاتی مانند فلاپی ۵٫۲۵ اینچی DD شرکت تندِن (با ظرفیت ۳۶۸۶۴۰ بایت) با استفاده از قرارداد ۱۰۲۴ بایت، تحت عنوان «۳۶۰ کیلوبایت» تبلیغ می‌شدند. بااین‌حال، این موضوع همگانی نبود. فلاپی ۵٫۲۵ اینچی SA-400 شوگارت دارای ظرفیت ۱۰۹٬۳۷۵ بایت فرمت‌نشده بود[۴۷] و «۱۱۰ کیلوبایت» (با استفاده از قرارداد ۱۰۰۰ بایت) تبلیغ می‌شد.[۴۸] همچنین فلاپی ۸ اینچی RX01 دِک (محصول ۱۹۷۵) دارای ۲۵۶٬۲۵۶ بایت فرمت‌شده بود و تحت عنوان «۲۵۶k» تبلیغ می‌شد.[۴۹] برخی دستگاه‌ها با ترکیبی از دو تعریف آگهی می‌شدند: معروف‌ترین آن‌ها فلاپی‌های ۱٫۴۴ مگابایتی است که در واقع ۱٬۴۴۰ کیبی‌بایت (برابر ۱٫۴۱ مبی‌بایت یا ۱٫۴۷ مگابایت ده‌دهی) ظرفیت دارند.

در سال ۱۹۹۵، «کمیته بین‌بخشی نام‌گذاری و نمادهای» آیوپاک برای حل این ابهام، مجموعه‌ای از پیشوندهای دودویی را برای مضارب ۱۰۲۴ پیشنهاد کرد. از جمله «kibi» (برگرفته از kilobinary)، «mebi» (megabinary) و «gibi» (gigabinary).[۵۰][۵۱]

در دسامبر ۱۹۹۸، آی‌ئی‌سی برای پایان دادن به این استفاده‌ها و تعریف‌های چندگانه، پیشوندهای پیشنهادی آیوپاک (kibi، mebi، gibi و ...) را پذیرفت تا مضارب ۱۰۲۴ را بدون ابهام مشخص کند.[۵۲] در نتیجه، یک کیبی‌بایت (۱ KiB) برابر با ۱۰۲۴^۱ بایت (۱۰۲۴ بایت)، یک مبی‌بایت (۱ MiB) برابر با ۱۰۲۴^۲ بایت (۱٬۰۴۸٬۵۷۶ بایت) و ... تعریف شدند.

در سال ۱۹۹۹، دانلد کنوت پیشنهاد کرد برای کیبی‌بایت از اصطلاح «large kilobyte» (به اختصار KKB) استفاده شود.[۵۳]

تعاریف مدرن استانداردها

آی‌ئی‌سی پیشنهاد آیوپاک را پذیرفت و این استاندارد را در ژانویه ۱۹۹۹ منتشر کرد.[۵۴][۵۵] این پیشوندهای آی‌ئی‌سی بخشی از سامانه بین‌المللی کمیت‌ها هستند. آی‌ئی‌سی همچنین مشخص کرد که کیلوبایت باید تنها برای ۱۰۰۰ بایت به کار رود.[۵۶]

دعاوی قانونی علیه استانداردها

شکایت‌های حقوقی مرتبط با ادعای سردرگمی مصرف‌کنندگان بر سر تعریف دودویی و ده‌دهی مضارب بایت، عموماً به سود تولیدکنندگان پایان یافته است. دادگاه‌ها اعلام کرده‌اند که تعریف قانونی «گیگابایت» یا «GB» برابر با ۱ میلیارد بایت (۱۰^۹) بر پایه ده‌دهی است، نه دودویی (۲^۳۰ یعنی ۱۰۷۳۷۴۱۸۲۴ بایت). به‌طور مشخص، دادگاه منطقه‌ای ایالات متحده در حوزه شمالی کالیفرنیا حکم کرده است که «کنگره ایالات متحده، تعریف ده‌دهی گیگابایت را برای اهداف تجارت در ایالات متحده ‘ترجیحی’ قلمداد کرده است [...] قوه مقننه کالیفرنیا نیز به همین شکل سامانه ده‌دهی را برای تمام ‘تراکنش‌های این ایالت’ پذیرفته است».[۵۷]

شکایت‌های پیشین، مانند شکایت از شرکت وسترن دیجیتال، بدون حکم دادگاه خاتمه یافت.[۵۸][۵۹] سیگیت نیز در پرونده‌ای مشابه، توافق کرد و موضوع مختومه شد.[۵۸][۶۰]

مثال عملی

اطلاعات بیشتر Unit, اندازه معادل ...
Remove ads

استفاده های رایج

خلاصه
دیدگاه

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

زبان های برنامه نویسی C و C++ بایت را به عنوان "واحد آدرس‌پذیری از ذخیره‌سازی داده‌ها که برای نگهداری هر یک از اعضای مجموعه کاراکترهای اصلی محیط اجرا به اندازه کافی بزرگ است" تعریف می‌کنند (بند 3.6 از استاندارد C). در استاندارد C به اجبار، نوع داده انتگرال char بدون علامت باید حداقل 256 مقدار مختلف داشته باشد و حداقل با هشت بیت نمایش داده شود (بند 5.2.4.2.1). پیاده‌سازی‌های مختلف زبان‌های برنامه نویسی C و C++ ، اجازه استفاده از مقدار 8، 9، 16، 32 یا 36 بیت را برای ذخیره‌سازی یک بایت محفوظ می‌دارند. علاوه بر این، استانداردهای C و C++ ایجاب می‌کنند که بین دو بایت هیچ فاصله‌ای وجود نداشته باشد. این بدان معناست که هر بیت در حافظه بخشی از یک بایت است.

بایت، نوع داده پایه در زبان جاوا است و به عنوان هشت بیت تعریف می‌شود. این یک نوع داده علامت‌دار است که مقادیر از -128 تا 127 را در خود نگه می‌دارد.

در زبان های برنامه نویسی دات‌نت، مانند C#، بایت را به عنوان یک نوع داده بدون علامت، و sbyte را به عنوان یک نوع داده علامت‌دار تعریف می‌کنند که به ترتیب مقادیر از 0 تا 255 و 128- تا 127 را نگه می‌دارند.

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

Remove ads

جستارهای وابسته

ابهام‌زدایی

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

Remove ads

یادداشت‌ها

  1. اصطلاح هجا برای بایت‌هایی به کار می‌رفت که شامل دستورها یا بخش‌هایی از دستور بودند، نه برای بایت‌های داده.
  2. Werner Buchholz
  3. بسیاری از منابع به‌اشتباه زمان شکل‌گیری اصطلاح بایت را ژوئیهٔ ۱۹۵۶ ذکر می‌کنند، اما ورنر بوخهولتس اظهار کرد که این اصطلاح در ژوئن ۱۹۵۶ پدید آمد. در واقع، قدیمی‌ترین سند موجود در این باره مربوط به ۱۹۵۶-۰۶-۱۱ است. بوخهولتس خاطرنشان کرد که گذار به بایت‌های ۸ بیتی در اوت ۱۹۵۶ شکل گرفت، اما قدیمی‌ترین سند یافت‌شده که این مفهوم در آن به کار رفته مربوط به سپتامبر ۱۹۵۶ است.
  4. variable field length (VFL)
  5. برخی از ماشین‌های بعدی، مانند Burroughs B1700، CDC 3600، DEC PDP-6، DEC PDP-10 توانایی کار با بایت‌های دلخواهی را داشتند که از اندازهٔ کلمه فراتر نمی‌رفتند.
  6. Experimental SAGE Subsector
  7. Extended Binary Coded Decimal Interchange Code (EBCDIC)
  8. six-bit binary-coded decimal (BCDIC)
  9. nibble یا nybble
  10. Through the 1970s there were machines with decimal architectures.
Remove ads

منابع

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads