مقدمه
فلسفه وجودی اعداد به نیاز بشر برای شمارش برمیگردد. اعداد در دنیای امروز بخشی جدانشدنی از زندگی روزمرهی ما میباشند. جالب است بدانید همین کلماتی که در حال خواندن آنها هستید به صورت کدهای صفر و یک برروی کامپیوتر شما ثبت میشوند. اعداد دسیمال، باینری، اوکتال و هگزادسیمال همگی نمایشهای مختلف برای یک چیز یکسان میباشند. وقتی از عددی مثل 68 صحبت میکنیم، منظورمان یک مقدار عددی است که در مبنای ده (دسیمال) به صورت 68 نمایش داده میشود. اما اگر همین عدد را بخواهیم در مبنای دو (باینری) نمایش دهیم، حاصل بهصورت 1000100 میشود و اگر همین عدد را در مبنای هشت (اوکتال) نمایش دهیم حاصل به صورت 104 بوده و در نهایت اگر همین عدد را در مبنای شانزده (هگزادسیمال) نمایش دهیم حاصل به صورت 44 خواهد شد.
ٌٌٌ اعداد در این مبنا دارای ۱۰ رقم معنی دار 0، 1، … 9 میباشند. دلیل استفاده از علامتهای 0، 1،…9 برای این نه رقم معنیدار به تعداد شکستگیها (زوایا) در نمایش آنها برمیگردد.
شکل۱: ارتباط زوایه با نحوه خواندن اعداد
در نمایش اعداد در مبنای ده، ارقام به ترتیب از سمت راست به چپ یکان، دهگان، صدگان و … نامیده میشوند که ارزش هر رقم را بیان میکند. به عنوان مثال عدد 368 شامل سه بسته صدتایی، 6 بسته دهتایی و 8 یکی میباشد.
اعداد را میتوان در هر مبنای دلخواهی نمایش داد اما مهم این است که آیا این نمایش در دنیای واقعی کاربرد دارد یا نه. اعداد دسیمال از اولین اعدادی بودند که به دلیل نیاز بشر به شمارش و گسترش ریاضیات اختراع شدند. با توسعهی کامپیوتر و سیستم های دیجیتال اعداد در مبنای دو نیز مطرح شدند. دلیل استفاده از مبنای دو در سیستمهای دیجیتال به ساختار فیزیکی این سیستمها مربوط میباشد. از آنجایی که قطعات دیجیتال از واحدهایی بهنام ترانزیستور که ادواتی با دوحالت کاری میباشند تشکیل شدهاند، بنابراین این دوحالت را میتوان با 0 و 1 نمایش داد، در این صورت استفاده از مبنای دو انجام محاسبات در سیستمهای دیجیتال را امکانپذیر میکند.
به عنوان مثال برای تبدیل عدد 368 در مبنای 10 به معادل آن در مبنای دو، یک الگوریتم تقسیمات متوالی بر 2 میباشد:
در تقسیمات متوالی فوق علامت // به معنای خارج قسمت و علامت rem به معنای باقیمانده میباشد. بهعنوان مثال:
rem=0 368//2=184 به این معنی میباشد که خارج قسمت تقسیم عدد 368 بر 2 برابر 184 و باقیمانده آن برابر 0 میباشد.
حال اگر مقادیر باقیمانده را از پایین به بالا کنارهم بگذاریم معادل مبنای دو عدد 368 بدست میآید:
یک روش دیگر که میتوان سریعتر از روش فوق عدد معادل در مبنای دو را بدست آورد بهصورت زیر میباشد:
روش فوق شاید در ابتدا سختتر و کندتر از روش قبل باشد ولی پس از چندین بار تمرین به سادگی و سریعتر بودن آن پی خواهید برد.
اعداد اوکتال، اعدادی در مبنای هشت میباشند. برای تبدیل اعداد دسیمال به اوکتال میتوان از روش تقسیمات متوالی بر هشت مشابه قسمت قبل استفاده کرد.
فرض کنید میخواهیم عدد 101110000 در مبنای دو را به معادل آن در مبنای هشت تبدیل کنیم. برای این منظور ارقام را از سمت راست سه تا سه تا جدا میکنیم و بهجای هر سه تایی رقم معنی دار، آن در مبنای هشت را میگذاریم. برای این منظور از جدول زیر استفاده می کنیم:
جدول1: ارقام معنی دار در مبنای هشت
در نتیجه داریم:
دقت کنید در صورتی که عدد باینری دارای تعداد ارقامی باشد که مضربی از سه نباشند با اضافه کردن صفر در انتهای سمت چپ عدد باینری تعداد ارقام آن را مضربی از سه می کنیم.
اعداد هگزادسیمال، اعدادی در مبنای شانزده می باشند. اعداد در مبنای شانزده دارای 16 رقم معنی دارای 0,1,…9,A,B,C,D,E,F می باشند. برای تبدیل اعداد دسیمال به هگزادسیمال می توان از روش تقسیمات متوالی بر شانزده مشابه قسمت های قبل استفاده کرد.
فرض کنید می خواهیم عدد 101110000 در مبنای دو را به معادل آن در مبنای هگزادسیمال تبدیل کنیم. برای این منظور ارقام را از سمت راست چهار تا چهار تا جدا میکنیم و به جای هر چهارتایی رقم معنیدار آن در مبنای شانزده را میگذاریم. برای این منظور از جدول زیر استفاده میکنیم:
در نتیجه داریم:
توجه کنید از آنجایی که عدد 101110000 مضربی از چهار نمیباشد، در انتهای سمت چپ سه عدد صفر اضافه کرده ایم.
دستگاه اعداد دوتایی یا باینری (به انگلیسی: Binary)، هر عدد (شماره) را با دو رقم ۰ و ۱ نشان میدهند. این نمایش اعداد را نمایش اعداد در مبنای (پایه) دو نیز مینامند.
اعداد ۰ و ۱ اعداد باینری هستند چرا که در زبان انگلیسی باینر به معنی دوتایی است. اعداد باینری برمبنای دو نوشته میشوند (زیرا از دو عدد صفر و یک تشکیل شدند) ۲⁰=۱: یک بیت ۲¹=۲: دو بیت ۲² =۴: چهار بیت ۲³= ۸: هشت بیت > یک بایت ...
این شمارنده نشان میدهد که اعداد ۰ تا ۳۱ در مبنای ۲ چگونه نمایش داده میشوند.
شیوهٔ نمایش
اعداد ۰ و ۱ در مدارهای دیجیتالی و کامپیوتری به عنوان ارقام باینری (BInary digiTS) و یا به اختصار بیت (BITS) شناخته میشوند؛ یعنی (بیت)ها همین ۰ و ۱ هستند.
این ۰ و ۱ میتوانند به صورت مقدارهای منطقی (درست / نادرست) یا علائم جبری (+/-) یا حالت راه اندازی (روشن / خاموش) تفسیر شوند.
«مقدارهای صفر و یک همیشه عکس هم هستند»
از قرار دادن ۸ بیت یا هشتا از اعداد ۰ و ۱ کنار هم یک بایت تشکیل میشود.
بیت bit کوچکترین واحد حافظه است
. یک بایت میتواند یک (حرف، عدد، یک کاراکتر و…) را در خودش ذخیره کند.
هر بایت میتواند ۲۵۶ (کاراکتر) را تشکیل دهد (۲⁸ برابر ۲۵۶ حالت)
برای مثال a برابر: ۰۱۱۰۰۰۰۱ و b برابر: ۰۱۱۰۰۰۱۰ و تا ۲۵۶ حالت …
۲¹⁰ برابر ۱۰۲۴ بایت است. که به ۱۰۲۴ بایت یک کیلو بایت میگویند. که به صورت تقریبی یک کیلو بایت برابر ۱۰۰۰ بایت است. یک کیلو بایت برابر ۸۱۹۲ بیت است (۱۰۲۴*۸)
یک کیلو بایت که با KB نمایش میدهند میتواند ۱۰۲۴ کاراکتر یا حروف لاتین را ذخیره کند
۲²⁰ برابر ۱٬۰۴۸٬۵۷۶ تا بایت است یا ۱۰۲۴ * ۱۰۲۴ که به این مقدار یک مگا بایت میگویند یک مگابایت رو با MB نمایش میدهند و نشانگر یک میلیون کاراکتر است
یک مگابایت برابر ۸٬۳۸۸٬۶۰۸ صفر و یک است
واحدها همینجور ۱۰۲۴ تا ۱۰۲۴ تا اضافه میشوند:
یک KB برابر ۱۰۲۴ B
یک MB برابر ۱۰۲۴ KB
یک GB برابر ۱۰۲۴ MB
یک TB برابر ۱۰۲۴ GB
یک PB برابر ۱۰۲۴ TB
یک EB برابر ۱۰۲۴ PT
واحدهای ترابایت، پتا بایت و اگزا بایت بزرگترین واحدهایی هستند که فقط در برخی از مکانها (مثل سرورها و هاستها) برای ذخیره دیتا استفاده میشوند. حافظه یک اگزا بایتی (EB) قادر به ذخیره ۱۱۵۲۹۲۱۵۰۴۶۰۶۸۴۶۹۷۶ کاراکتر یا حروف لاتین است
برخی حافظههای دیجیتالی و کامپیوتری:
صلوات شمار: ۳ بایت (۲۴ بیت)
ماشین حساب فیزیکی ساده: ۸ بایت
کلیپ بورد گوشی: ۱۰۰ کیلو بایت
فلاپیدیسک: ۳مگابایت
سی دی: ۷۰۰ مگابایت
فلش مموری: ۳۲ گیگابایت
گوشی هوشمند: ۱۲۸ گیگابایت
کامپیوتر: از ۲۵۶ تا ۱۰۲۴ گیگابایت
هارد دیسک: یک ترابایت
مغز انسان: ۳ پتابایت.
شایان ذکر است که حروف و کاراکترهای انگلیسی یک بایت (۸ بیت) هستند اما سایر زبانها بخاطر تعریف مجدد شان به کامپیوتر ۲بایت (۱۶ بیت) اند. a برابر یک بایت آ برابر ۲ بایت
برای انتقال فایل، ارسال پیامک، خرید کردن با کارت بانکی، ذخیره فایلها، استفاده از اینترنت ، کد نویسی، دانلود موسیقی، آپلود فیلم و… که هر بار در طول روز با گوشی یا کامپیوتر شخصی انجام میدهیم، میلیونها ۰ و ۱ را با سرعت بالایی انتقال میدهیم.
یک عدد در مبنای دو با تعدادی ۰ و ۱ پیاپی نشان داده میشود. در رایانهها، اعداد دودویی با دو سطح ولتاژ گوناگون نمایش داده میشوند؛ دلیلش آنست که پیادهسازی این سامانه توسط دستگاههای الکترونیک بسیار سادهتر از دیگر سیستمهای عددی است؛ مثلاً برای پیادهسازی این سیستم ممکن است ولتاژ ۵- بهعنوان «صفر» در نظر گرفته شود و ولتاژ ۵+ بهعنوان «یک» (حالت دو قطبی) یا ولتاژ صفر بهعنوان «صفر» و ولتاژ ۵+ بهعنوان «یک» (حالت دودویی) در نظر گرفته شود. در دیسکهای مغناطیسی نیز از نقاط دارای مغناطیس (یک) و بدون آن (صفر) برای نمایش دادهها و اعداد استفاده میشود.
کتاب لایب نیتس در باینری: اختراع حساب کامپیوتری
Leibniz on Binary: The Invention of Computer Arithmetic
اولین مجموعه از نوشتههای کلیدی لایبنیتس در سیستم باینری، به تازگی ترجمه شده و بسیاری از آنها قبلاً به هیچ زبانی منتشر نشده بودند.
گوتفرید ویلهلم لایبنیتس (1646\xe2\x80\x931716) به دلیل اختراع مستقل حساب دیفرانسیل و انتگرال در سال 1675 شناخته شده است. محاسبات، مبنای نمایشی برای محاسبات دیجیتالی امروز xe2 x80. این کتاب اولین مجموعه از مهمترین نوشتههای لایبنیتس در مورد سیستم دودویی را ارائه میکند که همگی به تازگی توسط نویسندگان ترجمه شدهاند و بسیاری از آنها قبلاً به هیچ زبانی منتشر نشده بودند. در مجموع، این سی و دو متن داستان دودویی را همانطور که لایبنیتس تصور میکرد، از اولین نوشتههای دوران جوانیاش در مورد این موضوع تا توسعه و انتشار بالغ سیستم دودویی را روایت میکند.
همانطور که شایسته یک نسخه علمی است، استریکلند و لوئیس نه تنها در تهیه ترجمههای خود به نسخههای خطی اصلی لایبنیتس بازگشتهاند، بلکه دستگاه انتقادی کاملی را نیز فراهم کردهاند. علاوه بر حاشیه نویسی های گسترده، هر متن با یک مقدمه مفصل \xe2\x80\x9cheadnote\xe2\x80\x9d همراه است که زمینه و محتوا را توضیح می دهد. تفاسیر ریاضی اضافی به خوانندگان ارائه می دهد تا به تفکر ریاضی لایبنیتز xe2 x80 x99 بپردازد. مقدمه متون با یک مقاله مقدماتی طولانی و مفصل است که در آن استریکلند و لوئیس توسعه دودویی لایبنیتس را ردیابی میکنند، آن را در بافت تاریخی آن قرار میدهند و تأثیر پس از مرگ آن را ترسیم میکنند، به ویژه در شکلدهی عصر کامپیوتر خودمان. .