چهارشنبه 29 شهریور 1396 | به روز شده: چند لحظه قبل

HAMSHAHRIONLINE

The online version of the Iranian daily Hamshahri
ISSN 1735-6393
چهارشنبه 23 مرداد 1387 - 19:25:03 | کد مطلب: 60571 چاپ

چطور بیت و بایت کار می‌کنند؟

شهر > شهر مجازی - همشهری آنلاین - رشید عسگری:
خریدن کامپیوتر و قطعات مختلف آن، شنیدن بیت و بایت و مگابایت و گیگابایت را هم دارد که ممکن است خیلی گیج کننده باشد.

شاید شنیده باشید که فلان کامپیوتر یا لپ تاپ 512 مگابایت RAM ،80گیگابایت هارد دیسک و پردازشگر 2.1گیگاهرتزی 32بیت.

اعداد در مبنای ده:
ساده ترین راه برای درک کردن مفهوم بیت، مقایسه آن با مفهومی است که برای ما قابل درک و ساده است و آن هم رقم (Digit) است. ارقام از 0 تا 9 وجود دارند. در کنار هم اعداد چند رقمی مثل 6357را تشکیل می‌دهند. هر کس با دیدن همچنین رقمی آن را 6هزار و سیصد و پنجاه و هفت می‌خواند. به راحتی درک می‌کنیم که رقم هفت به عنوان یکان، 5دهگان، 3 صدگان و 6 هزارگان هستند. اگر حساب سرتان شود همین ارقام را به صورت زیر هم می‌توان نوشت!

7+(5×10)+(3×100)+(6×1000)=6357

راه دیگر برای نشان دادن این عدد نوشتن ده‌های آن به صورت توانی از ده است.


6357=(3^10×6)+(2^10×3)+(1^10×5)+(0^10×7)

اینکه مفاهیم این ارقام را به راحتی متوجه می‌شوید به این دلیل است که هر روز با اعداد 0تا9 کار می‌کنید و یا به این دلیل است که 10انگشت دارید! شاید اگر هشت انگشت داشتیم از ارقام 0تا8 استفاده می‌کردیم. در حقیقت هر چند مبنایی که بخواهید می‌توانید داشته باشید. از مبنای دو تا هر چند تا که بخواهید. دلایل راضی کننده‌ای هست که از مبناهای مختلف در شرایط مختلف استفاده کنیم.

مبنای دو و بایت‌های 8بیتی:
اینکه چرا از مبنای دو در کامپیوتر استفاده می‌کنیم این است که تطبیق مبنای دو با جریان الکتریکی آسان است.

کلمه بیت (Bit) ترکیبی از دو کلمه Binary و Digit است. مبنای دو تنها دو عدد 0 و 1 را دارد. به همین دلیل اعداد در مبنای دو با ترکیب همین ارقام تشکیل می‌شوند. مثل 1011. چطوری بفهمیم که این عدد چه معنی در مبنای قابل درک ما یعنی مبنای ده دارد؟ همان طور که عدد 6357 در مبنای ده را به صورت توانی از ده نوشتیم، 1011در مبنای دو را نیز به صورت توانی از 2 می‌نویسیم.

11=1+2+0+8=(0^2×1)+(1^2×1)+(2^2×0)+(3^2+1)

دیدید که در هر مبنایی می‌توان با این روش اعداد را معرفی کرد. اعداد در مبنای ده و دو به این صورت از 0تا20 تغییر می‌کنند:

0=0
1=1
2=10
3=11
4=100
5=101
6=110
7=111
8=1000
9=1001
10=1010
11=1011
12=1100
13=1101
14=1110
15=1111
16=10000
17=10001
18=10010
19=10011
20=10100

اگر به یکان اعداد در مبنای دو نگاه کنیم ابتدا 0است بعد 1 و بعد 0و بعد 1 و به همین ترتیب. در مبنای دو اگر رقمی یک است و به آن یکی اضافه کنیم آن رقم صفر می‌شود و رقم بعدی یک. از 15 به 16 رقم 1111به 10000تبدیل شده است.

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

با وجود 8 بیت در یک بایت، برای مثال می‌توان 256 مقدار بین 0 تا 255 را به این صورت نشان داد:

0=00000000
1=00000001
2=00000010
...
254=11111110
255=11111111

در ادامه به کاربرد بیت و بایت نگاه می‌اندازیم.

کاراکتر‌های استاندارد ASCII:

بایت معمولاً برای نگه داشتن مقدار یک کاراکتر استفاده می‌شود. در سیستم ASCII به هر رقم در مبنای دو بین 0 تا 127 یک کاراکتر داده شده است. از 128 تا 256 کاراکتر‌های زبان‌های غیر از انگلیسی است.

بعضی از ویرایشگر‌های ویندوز مثل NotePad متن‌ها را به این صورت ذخیره می‌کنند و یعنی یک بایت برای هر کارکتر. Space یا همان فضای بین کلمات نیز یک بایت حساب می‌شود. برای مثال در NotePad «Four Score And Seven Years Ago» را تایپ کنید. آن را ذخیره کنید و حجم فایل را نگاه کنید. دقیقاً 30بایت است.

کامپیوتر به متنی که شما نوشتید به شکل زیر نگاه می‌کند:

Four and seven
70111117114329711010032115101118101110

 

اگر بخواهیم دقیقاً به این کدها نگاه کنیم باید هر کدام را به صورت مبنای دو بنویسیم.

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

اندازه

پیشوند نام
210 = 1,024
K Kilo
220= 1,048,576
M Mega
230 = 1,073,741,824
G Giga
240 = 1,099,511,627,776
T Tera
250 = 1,125,899,906,842,624
P Peta
260 = 1,152,921,504,606,846,976
E Exa
270= 1,180,591,620,717,411,303,424
Z Zetta
280 = 1,208,925,819,614,629,174,706,176
Y Yotta