پرش به محتوا

بایت

از ویکی‌پدیا، دانشنامهٔ آزاد

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

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

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

بایت
سامانه‌های اندازه‌گیرییکای مشتق‌شده از بیت
یکایاطلاعات دیجیتال، اندازهٔ داده
نشانB یا o (هنگام ۸ بیت) 

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

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

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

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

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

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

[ویرایش]

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

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

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

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

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

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

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

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

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

نماد یکا

[ویرایش]

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

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

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

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

[ویرایش]

الگو:Redirect several

واحدهای مضارب بایت
ده‌دهی
مقدار اس‌آی
۱۰۰۰ kB کیلوبایت
۱۰۰۰۲ MB مگابایت
۱۰۰۰۳ GB گیگابایت
۱۰۰۰۴ TB ترابایت
۱۰۰۰5 PB پتابایت
۱۰۰۰۶ EB اگزابایت
۱۰۰۰۷ ZB زتابایت
۱۰۰۰۸ YB یوتابایت
۱۰۰۰۹ RB رونابایت
۱۰۰۰۱۰ QB کوئِتابایت
دودویی
Value آی‌ئی‌سی حافظه
۱۰۲۴ KiB کیبی‌بایت KB کیلوبایت
۱۰۲۴۲ MiB مبی‌بایت MB مگابایت
۱۰۲۴۳ GiB گیبی‌بایت GB گیگابایت
۱۰۲۴۴ TiB تبی‌بایت TB ترابایت
۱۰۲۴5 PiB پبی‌بایت
۱۰۲۴۶ EiB اگزبی‌بایت
۱۰۲۴۷ ZiB زبی‌بایت
۱۰۲۴۸ YiB یوبی‌بایت
۱۰۲۴۹ RiB روبی‌بایت
۱۰۲۴۱۰ QiB کوئِبی‌بایت
واحدهای حافظه رایانه

بیش از یک سامانه برای تعریف مضارب یکاهای مبتنی بر بایت وجود دارد. برخی سامانه‌ها بر پایه توان‌های ۱۰ شکل گرفته‌اند و از دستگاه بین‌المللی یکاها (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» برای ۱۰۰۰۸.

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

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

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

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

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

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

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

[ویرایش]

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

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

[ویرایش]

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

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

مثال عملی

[ویرایش]
Unit اندازه معادل
بیت یک مقدار بولی که ۱ یا ۰ را مشخص میکند
بایت اندازه یک نویسه لاتین
کیلوبایت متن جابرووکی
یک فاویکون معمولی
مگابایت متن هری پاتر و جام آتش[۶۱]
گیگابابت نیم ساعت فیلم ویدیویی[۶۲]
بره در برادوی دراز می‌کشد با کیفیت لوح فشرده
ترابایت بزرگترین دیسک سخت در سال ۲۰۰۷ [۶۳]
75 ساعت فیلم ویدویی با کدگذاری 30 مگابیت بر ثانیه
پتابایت ۲۰۰۰ سال موسیقی MP3[۶۴]
اگزابایت ترافیک جهانی اینترنت در سال ۲۰۰۴[۶۵]
زتابایت ترافیک جهانی اینترنت در سال ۲۰۱۶ (به عصر زتا معروف است)[۶۶]

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

[ویرایش]

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

زبان های برنامه نویسی 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 بیت توقف، و احتمالاً یک بیت برابری است ، و بنابراین اندازه آن ممکن است از هفت تا دوازده بیت برای پنج تا هشت بیت داده واقعی متفاوت باشد. برای ارتباط همزمان، بررسی خطا معمولاً از بایت ها در انتهای یک فریم استفاده می‌کند.

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

[ویرایش]

ابهام‌زدایی

[ویرایش]

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

یادداشت‌ها

[ویرایش]
  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.

منابع

[ویرایش]
  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. ۲٫۰ ۲٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Buchholz_1962 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  3. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Bemer_1959 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  4. مشارکت‌کنندگان ویکی‌پدیا. «نوع داده صحیح «بایت» در زبان‌های برنامه‌نویسی». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۲۰ فوریه ۲۰۱۲.
  5. Postel, J. (September 1981) (in en). Internet Protocol DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. p. 43. RFC 791. https://tools.ietf.org/html/rfc791#page-43. Retrieved 28 August 2020. "octet An eight bit byte."
  6. ۶٫۰ ۶٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Buchholz_1956_1 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  7. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام CDC_1965_3600 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  8. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Rao_1989 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  9. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Tafel_1971 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  10. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام ISO_IEC_2382-1_1993 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  11. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام CHM_1964 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  12. ۱۲٫۰ ۱۲٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام MIXF وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  13. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام TCPIP وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  14. ۱۴٫۰ ۱۴٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام ISO_2382-4 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  15. ۱۵٫۰ ۱۵٫۱ ۱۵٫۲ ۱۵٫۳ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Buchholz_1977 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  16. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Timeline_1956 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  17. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Blaauw_1959 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  18. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Dooley_1995_Byte وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  19. ۱۹٫۰ ۱۹٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Ram_Byte وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  20. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Schwartz_Brooks_ACM وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  21. ۲۱٫۰ ۲۱٫۱ ۲۱٫۲ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Bemer_2000 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  22. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام ibm.com وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  23. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Buchholz_1956_3 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  24. ۲۴٫۰ ۲۴٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Knuth-1 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  25. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Williams_1969 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  26. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام Philips_1971 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  27. ۲۷٫۰ ۲۷٫۱ خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام IEC_Binary وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  28. Prefixes for Binary Multiples بایگانی‌شده در ۲۰۰۷-۰۸-۰۸ توسط Wayback Machine — The NIST Reference on Constants, Units, and Uncertainty
  29. Matsuoka, Satoshi; Sato, Hitoshi; Tatebe, Osamu; Koibuchi, Michihiro; Fujiwara, Ikki; Suzuki, Shuji; Kakuta, Masanori; Ishida, Takashi; Akiyama, Yutaka; Suzumura, Toyotaro; Ueno, Koji (2014-09-15). "Extreme Big Data (EBD): Next Generation Big Data Infrastructure Technologies Towards Yottabyte/Year". Supercomputing Frontiers and Innovations (به انگلیسی). 1 (2): 89–107. doi:10.14529/jsfi140206. ISSN 2313-8734. Archived from the original on 2022-03-13. Retrieved 2022-05-27.
  30. "List of Resolutions for the 27th meeting of the General Conference on Weights and Measures" (PDF). 2022-11-18. Archived (PDF) from the original on 2022-11-18. Retrieved 2022-11-18.
  31. Gibney, Elizabeth (18 November 2022). "How many yottabytes in a quettabyte? Extreme numbers get new names". Nature. doi:10.1038/d41586-022-03747-9. ISSN 0028-0836. PMID 36400954. S2CID 253671538. Archived from the original on 16 January 2023. Retrieved 21 November 2022.
  32. 1977 Disk/Trend Report Rigid Disk Drives, published June 1977
  33. SanDisk USB Flash Drive بایگانی‌شده در ۲۰۰۸-۰۵-۱۳ توسط Wayback Machine "Note: 1 megabyte (MB) = 1 million bytes; 1 gigabyte (GB) = 1 billion bytes."
  34. ۳۴٫۰ ۳۴٫۱ ۳۴٫۲ "How iOS and macOS report storage capacity". Apple Support (به انگلیسی). 27 February 2018. Archived from the original on 9 April 2020. Retrieved 9 January 2022.
  35. "UnitsPolicy". Ubuntu Wiki. Ubuntu. Archived from the original on 18 November 2021. Retrieved 9 January 2022.
  36. "ConsistentUnitPrefixes". Debian Wiki. Archived from the original on 3 December 2021. Retrieved 9 January 2022.
  37. Brown, Richard J. C. (27 April 2022). "Reply to "Facing a shortage of the Latin letters for the prospective new SI symbols: alternative proposal for the new SI prefixes"". Accreditation and Quality Assurance. 27 (3): 143–144. doi:10.1007/s00769-022-01499-7. S2CID 248397680.
  38. Kilobyte – Definition and More from the Free Merriam-Webster Dictionary بایگانی‌شده در ۲۰۱۰-۰۴-۰۹ توسط Wayback Machine. Merriam-webster.com (2010-08-13). Retrieved on 2011-01-07.
  39. Kilobyte – Definition of Kilobyte at Dictionary.com بایگانی‌شده در ۲۰۱۰-۰۹-۰۱ توسط Wayback Machine. Dictionary.reference.com (1995-09-29). Retrieved on 2011-01-07.
  40. Definition of kilobyte from Oxford Dictionaries Online بایگانی‌شده در ۲۰۰۶-۰۶-۲۵ توسط Wayback Machine. Askoxford.com. Retrieved on 2011-01-07.
  41. Prefixes for Binary and Decimal Multiples: Binary versus decimal
  42. "Determining Actual Disk Size: Why 1.44 MB Should Be 1.40 MB". Microsoft Support. 2003-05-06. Archived from the original on 2014-02-09. Retrieved 2014-03-25.
  43. "3G/GPRS data rates". Vodafone Ireland. Archived from the original on 26 October 2016. Retrieved 26 October 2016.
  44. "Data Measurement Scale". AT&T. Retrieved 26 October 2016.[پیوند مرده]
  45. "Internet Mobile Access". Orange Romania. Archived from the original on 26 October 2016. Retrieved 26 October 2016.
  46. "Our Customer Terms" (PDF). Telstra. p. 7. Archived (PDF) from the original on 10 April 2017. Retrieved 26 October 2016.
  47. "SA400 minifloppy". Swtpc.com. 2013-08-14. Archived from the original on 2014-05-27. Retrieved 2014-03-25.
  48. "Shugart Associates SA 400 minifloppy™ Disk Drive" (PDF). Archived from the original (PDF) on 2011-06-08. Retrieved 2011-06-24.
  49. "RXS/RX11 floppy disk system maintenance manual" (PDF). Maynard, Massachusetts: Digital Equipment Corporation. May 1975. Archived from the original (PDF) on 2011-04-23. Retrieved 2011-06-24.
  50. IUCr 1995 Report - IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS) http://ww1.iucr.org/iucr-top/cexec/rep95/idcns.htm بایگانی‌شده در ۲۰۲۰-۱۲-۱۹ توسط Wayback Machine
  51. "Binary Prefix" University of Auckland Department of Computer Science https://wiki.cs.auckland.ac.nz/stageonewiki/index.php/Binary_prefix بایگانی‌شده در ۲۰۲۰-۱۰-۱۶ توسط Wayback Machine
  52. National Institute of Standards and Technology. "Prefixes for binary multiples". Archived from the original on 2007-08-08. "In December 1998 the International Electrotechnical Commission (IEC) [...] approved as an IEC International Standard names and symbols for prefixes for binary multiples for use in the fields of data processing and data transmission."
  53. "What is a kilobyte?". Archived from the original on 2011-06-06. Retrieved 2010-05-20.
  54. NIST "Prefixes for binary multiples" https://physics.nist.gov/cuu/Units/binary.html بایگانی‌شده در ۲۰۱۸-۰۱-۱۴ توسط Wayback Machine
  55. Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.
  56. Barrow, Bruce (January 1997). "A Lesson in Megabytes" (PDF). IEEE. p. 5. Archived from the original (PDF) on 17 December 2005. Retrieved 14 December 2024.
  57. "Order Granting Motion to Dismiss" (PDF). United States District Court for the Northern District of California. Archived (PDF) from the original on 2021-10-07. Retrieved 2020-01-24.
  58. ۵۸٫۰ ۵۸٫۱ Mook, Nate (2006-06-28). "Western Digital Settles Capacity Suit". betanews. Archived from the original on 2009-09-07. Retrieved 2009-03-30.
  59. Baskin, Scott D. (2006-02-01). "Defendant Western Digital Corporation's Brief in Support of Plaintiff's Motion for Preliminary Approval". Orin Safier v. Western Digital Corporation. وسترن دیجیتال. Archived from the original on 2009-01-02. Retrieved 2009-03-30.
  60. Judge, Peter (2007-10-26). "Seagate pays out over gigabyte definition". ZDNet. Archived from the original on 2014-09-03. Retrieved 2014-09-16.
  61. Allison Dexter, "How Many Words are in Harry Potter?", [۱] بایگانی‌شده در ۲۰۲۱-۰۱-۲۵ توسط Wayback Machine; shows ۱۹۰۶۳۷ words
  62. "Kilobytes Megabytes Gigabytes Terabytes (Stanford University)". Archived from the original on 2020-11-08. Retrieved 2020-12-12.
  63. Perenson, Melissa J. (4 January 2007). "Hitachi Introduces 1-Terabyte Hard Drive". www.pcworld.com. Archived from the original on 24 October 2012. Retrieved 5 December 2020.
  64. "What does a petabyte look like?". Archived from the original on 28 January 2018. Retrieved 19 February 2018.
  65. Gross, Grant (24 November 2007). "Internet Could Max Out in 2 Years, Study Says". PC World. Archived from the original on 26 November 2007. Retrieved 28 November 2007.
  66. "The Zettabyte Era Officially Begins (How Much is That?)". Cisco Blogs (به انگلیسی). 2016-09-09. Archived from the original on 2021-08-02. Retrieved 2021-08-04.
  67. «تعریف پیشوند یکاهای «بایت» در وبگاه «whatsabyte»». بایگانی‌شده از اصلی در ۲۱ ژوئیه ۲۰۱۳. دریافت‌شده در ۲۰ فوریه ۲۰۱۲.