اعداد دودویی در بیت
{00:04:35}
بحثی که من عرض کردم و سؤالی را که مطرح کردم این بود که با توجه به اینکه کوچکترین چیزی که میگویند این دستگاه کامپیوتر با آن مواجه هست، بیت است، سؤال من این بود که بیت، سختافزار است یا نرمافزار است؟ و با بحثهایی هم که شد چیزی که در ذهن من بود را چند بار عرض کردم که بلاریب بیت نرمافزار است؛ معلوم است که نرمافزار است ولی چون خیلی نزدیک سختافزار است، مخلوط میشود. الآن میخواهم توضیحی را عرض کنم تا ببینیم از سطح بیت چطور بالا رفتهاند و چکار کردهاند.
خود کلمه بیت (bit) مخفف «binary digit» است؛ بهمعنای «عدد دودویی»، «رقمهای دودویی». در دستهبندی اعداد، بحثهای جورواجوری هست. یک بحثهای ریاضی هست راجع به انواع اعداد که مثلاً میگوییم سیستم مجموعه اعداد طبیعی، مجموعه اعداد صحیح، مجموعه اعداد گویا، مجموعه اعداد حقیقی، مجموعه اعداد گنگ. این مجموعه اعداد، یک جور سیستمهای عددی است که ربطی به مبنای باینری عدد (دودویی) ندارد. مبنای عدد، همان چیزی است که در کتابهایی مثل حاشیه، به آن «عقد» میگفتند. عقد در جایی است که عدد بعد از اینکه شمارش پیدا میکند، بسته و معقود میشود و دوباره به اول برمیگردد. مثلاً میگفتیم ده، عقد است؛ صد، عقد است؛ هزار، عقد است؛ یعنی به مرتبهای میرسد که دوباره از همانجا شروع میکند و تکرار میشود؛ وقتی به ده میرسیم یازده و بیست و… ؛ دوباره یکانها بهصورت دهگان و بهصورت دورقمی تکرار میشود.
شاگرد: خود بیست و سی هم عقد است.
استاد: بله. هر کدام از آنها هم عقد است، ولی آن عقد اصلی در دستگاهی که الآن میخواهیم بگوییم، خود ده است. او هست که بعداً سائر عقود را سامان میدهد. پس در هر نظام و مبناهای عدد، بیشتر از یک عقد اول نداریم؛ این نکته مهمی است.
فقط چیزی که هست، این است که «digit» در لغت اصلیش بهمعنای انگشت است. خدای متعال ده انگشت به بشر داده که با آن میشمارد که هر کدام از اینها را به جای یک و دو و سه بگذارید، گویا هر کدام از اینها نماد است. اگر بعداً انس بگیریم و در ذهن ما جوش بخورد که مثلاً این انگشت نماد چهار است و … میتوانیم آن را به کار بگیریم. کلمهای که من پیدا نکردم و اگر شما بعداً پیدا کردید به ما هم بگویید، یک کاربرد ناجوری برای این کلمه رقم «digit» هست و در فارسی هم داریم؛ مثلاً میگوییم عدد دو رقمی یا مثلاً رشد دو رقمی میشود یا تورم یک رقمی میشود؛ یک رقمی زیاد به کار میرود. گاهی هم میگوییم صفر و یک، اعدادی هستند بر مبنای دو و دو رقمی هستند؛ به این هم رقم میگوییم، و حال آنکه اینها با هم فرق میکنند. رقم بهمعنای تعداد نمادهایی که عدد را با آن درست میکنیم، و رقم بهمعنای موضع ارزش یک عدد، اینها با هم دوتاست، ولی مدام به جای هم به کار میرود.
مثالش را عرض کنم؛ برای اعداد دودویی، چند نماد به کار میبریم؟ صفر و یک. خب اگر بخواهیم عدد را زیاد کنیم، صفر که صفر است و بعد، یک میشود. اگر بخواهد عدد بعد از یک بیاید -فقط صفر و یک داریم- رقم بعدیای که ممکن است بیاید، چیست؟ ده است. چرا؟ چون دو تا بیشتر نداریم. در خود یک، صفر این طرفش [سمت چپش] بود. تنها چیزی که ممکن است، این است که صفر را این طرف [طرف راست] بگذاریم. پس ده، عدد دوم میشود که عقد است؛ عقدِ این مبنا است. خب اگر این ده، در همین مبنای دوتایی، بخواهد عدد بالاتری بشود، چند میشود؟ یازده میشود. چون یک داریم. دو صفر کنار هم، صفر کنار یک، یک کنار صفر، یک کنار یک که الآن مأنوس ذهن من و شما یازده است، اما اگر بخواهیم به این عدد اضافه کنیم، بعدی، صد میشود. یعنی چارهای نداریم یک را بگذاریم و دو تا صفر در کنارش بگذاریم. پس یازده در اینجا، مثل نود و نه بود؛ یعنی نود و نه مفهومی ما بود و یازده صوری بود.
شاگرد: یا بگوییم سه است. سومین رقم ما است.
استاد: منظور از رقم چیست؟
شاگرد: تعداد دفعات تکرار است. با سومین تکرار به یازده رسیدیم.
استاد: یازده سومین عدد است. یک که یک است و ده که دو است؛ یازده، سه است؛ معادل سه است. ولی وقتی نگاهش میکنیم میبینیم دو تا یک است، لذا میگوییم یازده. شما میفرمایید سومی، سه است. یعنی در مبنای عددی که ما میگوییم. اما وقتی میخواهید عدد بعدی آن را بگویید؛ اگر میخواهید بگویید صد، آن عددی که به صد چسبیده و مثل هم هست، نود و نه است. یعنی در این دستگاه دودویی، یازده همان نود و نه است. چون بعد از یازده، صد میشود.
شاگرد: به صد که نمیرسیم. مینویسیم نماد یک و دو تا صفر است.
استاد: یعنی صد بهمعنای ما نیست، اما صد بهمعنای عقد سه رقمی هست. ما صد را چطور معنا کنیم؟ اگر صد را به این شکل معنا کنیم که بگوییم در مبنای ده یعنی ده به توان دو، این صد بهمعنای خودمان میشود. اما اگر صد را معنا کنیم به اولین عدد سه رقمی، خب این اولین عدد سهرقمی است. یک، دو که ده میشود. بعد، یازده را چه بگوییم؟ بگوییم دو یک؟ ما که میگوییم یازده! تا ده نداشته باشیم که یازده نداریم. خب حالا چه بگوییم؟ میدانیم فعلاً این یازده نیست، آن یازده همان سه است که شما فرمودید. باید برای آن یک چیزی بگوییم. آنچه که مقصود من است، این است که اگر آخرین عدد دو رقمی را مثلاً نود و نه بگوییم یا اسم دیگری بگذاریم، مهم نیست. مهم فهم این است.
حالا سؤال من این است: بعد از یازده که صد شد، این صد، عدد چند رقمی است؟ عدد سه رقمی است. چند رقم (digit) در آن به کار رفته؟ دوتا. خب حالا دو رقمی است یا سه رقمی است؟! ببینید کلمه رقم، دو کاربرد دارد. یکی رقم میگویند بهمعنای تعداد جایگاهها که به آن پوزیشنال (positional) میگویند؛ آن موضعی است که دارد ارزش عدد را بیان میکند. وقتی شما نود و نه میگویید، نُه اولش دهگان است و نُه دومش، یکان است. نُه دوم در سمت راست، یعنی نُه تا یک، اما نُه سمت چپ یعنی نُه تا ده. لذا میگویید دو رقمی؛ رقم، نَه یعنی 9 و 4 و 5 و …، بلکه رقم یعنی موضعی که ارزش را در عقود تکرار شونده معین میکند. جایی که اینها را از هم جدا کند، ندیدهام. یعنی اینکه میگوییم رقمی، یعنی موضع. البته اصطلاحاتش را دارند؛ اصطلاح «position» و امثال آن را دارند و حرفها را زدهاند. اما اینکه این دو به جای هم به کار میروند را ندیدهام.
علی ای حال به «binary digit» عدد دو رقمی میگویند و منظورشان از رقم در اینجا صفر و یک است. اگر این صفر و یک، ۱۰۰[1] شد، ۱۰۰ سه رقمیِ دو رقمی است. یعنی دو رقمی بهمعنای نماد و نشانه عدد [که در آن از دو رقم ۰ و ۱ استفاده شده]، سه رقمی بهمعنای عددی که از نظر موضع ارزش ۱۰۰ شده و در آن دستگاه ۱۰۰، چهار است.
خب حالا به آن بیت برگردیم. در سختافزار با اشیاء فیزیکی مواجه هستید، یا با طبایع آنها؛ طبایع هم دخالت لطیفی دارند. اگر یادتان باشد انواعی از سختافزار هست. یکی از آنها همان CDها است که با لیزر ضربه میزدند و به آن پیت میگفتند. یا دیسکهای مغناطیسی بود یا مدارهایی بود که بسته یا باز بود. بنابراین سه جور بودند؛ یا ذخیرههای مغناطیسی بودند که یا مغناطیس بود یا نبود. یا بیتهای مداری بود که یا مدار بسته بود یا باز بود. جاهای آنها را عرض میکنم.
آنچه که الآن عرض من است، این است که ما در بستر فیزیکی، چیزهایی داریم که دو حالت علی البدل دارند؛ یعنی در دستگاه خداوند، یا به این صورت است یا به آن صورت. مثلاً اگر یک سیم مسی را بهصورت یک دایره در بیاورید و یک مدار درست کنید، این مدار یا متصل و بسته است، یا باز است.
شاگرد: میتوانیم بگوییم وجود و عدم، جامع آنها است؟
استاد: بله، وجود و عدم بهمعنای لا ثالث لها. علی ای حال منظور ما دو حالتی است که با هم جمع نمیشوند. حالت جمع شدن برای بعدش است؛ فعلاً با هم جمع نمیشوند. ولذا اگر یک دایرهای را در نظر بگیرید، میگویید یا سفید است یا سیاه. اگر سفید است قرارداد بعدی که معناست در کار میآید؛ مثلاً اگر سفید است یعنی صفر است و اگر سیاه است یعنی یک است. ببینید خود دایره سفید نماد میشود برای معنای صفر و دایره سیاه نماد میشود برای معنای یک. کما اینکه مدار بسته را میتوانیم نماد قرار بدهیم برای معنای صفر. اینکه گفتم عینک معنابین داشته باشیم یعنی تا میگوییم صفر، متوجه شویم که صفر، یک معنا است. لذا اگر این معنا را بهصورت صفر انگلیسی و دایره گرد بگذاریم، معنا تغییری نمیکند. اگر مثل فارسی یک صفر نقطهای بگذاریم که توپر و ریز است، باز معنای صفر تغییری پیدا نمیکند. اگر در لغت دیگری به جای صفر مربع بگذارند و … معنا واحد است. چرا؟ چون ذات صفر، یک معنا است و یک، یک معنا است و نمادی که آن معنا را نشان میدهد، اهمیت ندارد.
حالا که به این صورت است، وقتی خواستند عددهای دودویی را سامان بدهند و این دستگاه عظیم پیدا شود، اول چیزهایی را پیدا کردند که وجود و عدمی است به نحوی که دو حالتی باشد؛ حتماً تبادل در آن شرط است و نمیشود هر دوی آنها با هم باشند؛ یا این است یا آن است؛ این یا سفید است یا سیاه است. البته میتواند یا سفید باشد، یا سیاه و یا نه سفید و نه سیاه که آن، دیگر ترنری میشود (سه گانه) و به جای بیت، تریت میشود که در کامپیوترهایی است که مبنایش عدد سه است. ولی فعلاً آنهایی که بین ما معروف هستند، باینری یعنی بر مبنای دو است.
در اینجا وقتی با یک سختافزاری مواجه هستید که دو حالت دارد، شما یک حالتش را برای یک معنا (صفر) قرارداد میکنید و حالت بدلش را برای معنای دیگر که یک است، قرارداد میکنید. این معنا است که بعداً شما چقدر زیاد از آن استفاده میکنید و اینها وسیله هستند برای اینکه آن معنا را نمایش دهند. تا اینجا شما یکی از این دو حالت را دارید؛ یک دایره یا سفید است یا سیاه است. بیت بهمعنای کوچکترین واحد داده است که میشود یک معنایی را در آن تعبیه کرد.
[1] در جلسه فرمودند هزار، اما گویا مقصود، ۱۰۰ باشد که سبق لسان شده.