{"sessionId":"sample","readOnly":true,"hub":true,"access":"member","meta":{"title":"نمایش اعداد و کدگذاری دیجیتال","course":"مدار منطقی (دانشگاه تهران)","professor":null,"date":null,"duration":3530},"blocks":[{"id":"b001","type":"heading","level":1,"text":"نمایش اعداد و کدگذاری در سیستم‌های دیجیتال","src":"# نمایش اعداد و کدگذاری در سیستم‌های دیجیتال","gap":""},{"id":"b002","type":"callout","kind":"quote","text":"**قرارهای درس**\n\n- **کلاس:** باقی رو چهارشنبه ساعت ۱۲ می‌ذاریم.","src":"> **قرارهای درس**\n>\n> - **کلاس:** باقی رو چهارشنبه ساعت ۱۲ می‌ذاریم.","gap":"\n\n"},{"id":"b003","type":"heading","level":2,"text":"ترانزیستور و منطق صفر و یک","src":"## ترانزیستور و منطق صفر و یک","gap":"\n\n"},{"id":"b004","type":"paragraph","text":"⟨00:00:16⟩ در هر سطحی از طراحی دیجیتال، هرچقدر هم سیستم پیچیده باشد، طراحی در نهایت به **ترانزیستور** می‌رسد. ترانزیستور عنصری با خصوصیت‌های زیاد است، ولی در اینجا به‌عنوان یک کلید روشن/خاموش (on-off switch) استفاده می‌شود و سه پایه دارد: **گیت** (gate)، **درین** (drain) و **سورس** (source).","src":"⟨00:00:16⟩ در هر سطحی از طراحی دیجیتال، هرچقدر هم سیستم پیچیده باشد، طراحی در نهایت به **ترانزیستور** می‌رسد. ترانزیستور عنصری با خصوصیت‌های زیاد است، ولی در اینجا به‌عنوان یک کلید روشن/خاموش (on-off switch) استفاده می‌شود و سه پایه دارد: **گیت** (gate)، **درین** (drain) و **سورس** (source).","gap":"\n\n"},{"id":"b005","type":"paragraph","text":"⟨00:01:23⟩ دو نوع ترانزیستور وجود دارد که برعکسِ هم کار می‌کنند:","src":"⟨00:01:23⟩ دو نوع ترانزیستور وجود دارد که برعکسِ هم کار می‌کنند:","gap":"\n\n"},{"id":"b006","type":"tree","lang":"tree","nodes":[{"depth":0,"text":"ترانزیستورها"},{"depth":1,"text":"NMOS (ان‌چنل MOS)"},{"depth":1,"text":"PMOS (پی‌چنل MOS)"}],"src":"```tree\nترانزیستورها\n  NMOS (ان‌چنل MOS)\n  PMOS (پی‌چنل MOS)\n```","gap":"\n\n"},{"id":"b007","type":"bullet","depth":0,"text":"⟨00:01:23⟩ **NMOS (در صوت: «ان‌ماس»):** گیت، سورس و درین دارد؛ اگر گیتش یک باشد، مسیر هدایت (conduction path) بین سورس و درین برقرار است و جریان برقرار می‌شود؛ اگر گیتش صفر باشد، قطع است.","src":"- ⟨00:01:23⟩ **NMOS (در صوت: «ان‌ماس»):** گیت، سورس و درین دارد؛ اگر گیتش یک باشد، مسیر هدایت (conduction path) بین سورس و درین برقرار است و جریان برقرار می‌شود؛ اگر گیتش صفر باشد، قطع است.","gap":"\n\n"},{"id":"b008","type":"bullet","depth":0,"text":"**PMOS (در صوت: «پی‌ماس»):** برعکسِ NMOS؛ اگر گیتش صفر باشد، سوییچ وصل است و مسیر هدایت بین سورس و درین وجود دارد؛ اگر یک باشد، قطع و کار نمی‌کند.","src":"- **PMOS (در صوت: «پی‌ماس»):** برعکسِ NMOS؛ اگر گیتش صفر باشد، سوییچ وصل است و مسیر هدایت بین سورس و درین وجود دارد؛ اگر یک باشد، قطع و کار نمی‌کند.","gap":"\n"},{"id":"b009","type":"paragraph","text":"⟨00:01:52⟩ دلیل نام‌گذاری «چنل» و معنی «ان» و «پی» به جلسهٔ بعد موکول شد. هر سیستم پیچیده — چه سیستم صوتی، چه کنترل اتومبیل — در نهایت به همین ترانزیستورها برمی‌گردد که فقط دو حالت دارند: روشن و خاموش.","src":"⟨00:01:52⟩ دلیل نام‌گذاری «چنل» و معنی «ان» و «پی» به جلسهٔ بعد موکول شد. هر سیستم پیچیده — چه سیستم صوتی، چه کنترل اتومبیل — در نهایت به همین ترانزیستورها برمی‌گردد که فقط دو حالت دارند: روشن و خاموش.","gap":"\n\n"},{"id":"b010","type":"paragraph","text":"⟨00:02:44⟩ پس برای تحلیل مدارها، همه‌چیز به ترانزیستور برمی‌گردد و فقط دو حالت داریم: حالت یک یا حالت صفر. برای اینکه تحلیل بر پایهٔ همین صفر و یک بنا شود، باید به سیستم عددی باینری برویم — سیستمی که مقدارهایش فقط صفر یا یک است.","src":"⟨00:02:44⟩ پس برای تحلیل مدارها، همه‌چیز به ترانزیستور برمی‌گردد و فقط دو حالت داریم: حالت یک یا حالت صفر. برای اینکه تحلیل بر پایهٔ همین صفر و یک بنا شود، باید به سیستم عددی باینری برویم — سیستمی که مقدارهایش فقط صفر یا یک است.","gap":"\n\n"},{"id":"b011","type":"heading","level":2,"text":"سیستم‌های عددی و نمایش اعداد باینری","src":"## سیستم‌های عددی و نمایش اعداد باینری","gap":"\n\n"},{"id":"b012","type":"paragraph","text":"⟨00:04:09⟩ پیش از هر کار دیگری، مرور سریعی روی سیستم باینری انجام می‌شود. همه با سیستم باینری، **octal** (مبنای ۸) و **hexadecimal** (مبنای ۱۶) آشنایند؛ هدفِ این مرور، هم‌سطح‌شدن از نظر واژگان و اصطلاحات (vocabulary و terminology) است.","src":"⟨00:04:09⟩ پیش از هر کار دیگری، مرور سریعی روی سیستم باینری انجام می‌شود. همه با سیستم باینری، **octal** (مبنای ۸) و **hexadecimal** (مبنای ۱۶) آشنایند؛ هدفِ این مرور، هم‌سطح‌شدن از نظر واژگان و اصطلاحات (vocabulary و terminology) است.","gap":"\n\n"},{"id":"b013","type":"paragraph","text":"⟨00:04:39⟩ نوشتن عددی مثل ۵۷ در مبنای ۱۰ یعنی نمایش آن به‌صورت ضرایب در توان‌های مبنای ۱۰. برای کار با سیستم دیجیتال، باید روی عدد **کدگذاری** (coding) انجام شود که فقط صفر و یک داشته باشد. یک نوع کدگذاری، سیستم باینری است: رساندن عدد به مبنای ۲.","src":"⟨00:04:39⟩ نوشتن عددی مثل ۵۷ در مبنای ۱۰ یعنی نمایش آن به‌صورت ضرایب در توان‌های مبنای ۱۰. برای کار با سیستم دیجیتال، باید روی عدد **کدگذاری** (coding) انجام شود که فقط صفر و یک داشته باشد. یک نوع کدگذاری، سیستم باینری است: رساندن عدد به مبنای ۲.","gap":"\n\n"},{"id":"b014","type":"paragraph","text":"⟨00:04:54⟩ هر جایگاه (position) یک وزن دارد:","src":"⟨00:04:54⟩ هر جایگاه (position) یک وزن دارد:","gap":"\n\n"},{"id":"b015","type":"math","tex":"N_{10} = 5 \\times 10^1 + 7 \\times 10^0","oneline":true,"src":"$$N_{10} = 5 \\times 10^1 + 7 \\times 10^0$$","gap":"\n\n"},{"id":"b016","type":"paragraph","text":"وزن‌های جایگاه‌ها در مبنای ۱۰ برابر $1, 10, 100, \\dots$ و در مبنای ۲ برابر $1, 2, 4, 8, 16, 32, 64, \\dots$ یعنی توان‌های ۲ است.","src":"وزن‌های جایگاه‌ها در مبنای ۱۰ برابر $1, 10, 100, \\dots$ و در مبنای ۲ برابر $1, 2, 4, 8, 16, 32, 64, \\dots$ یعنی توان‌های ۲ است.","gap":"\n\n"},{"id":"b017","type":"heading","level":3,"text":"تبدیل اعداد صحیح بین مبنای ده و باینری","src":"### تبدیل اعداد صحیح بین مبنای ده و باینری","gap":"\n\n"},{"id":"b018","type":"paragraph","text":"⟨00:05:56⟩ روش تبدیل عدد ده‌دهی به باینری با کسر وزن‌ها:","src":"⟨00:05:56⟩ روش تبدیل عدد ده‌دهی به باینری با کسر وزن‌ها:","gap":"\n\n"},{"id":"b019","type":"flow","lang":"flow","steps":["مقایسه با 64","مقایسه با 32","مقایسه با 16","مقایسه با 8","مقایسه با 4 و 2 و 1"],"src":"```flow\nمقایسه با 64 → مقایسه با 32 → مقایسه با 16 → مقایسه با 8 → مقایسه با 4 و 2 و 1\n```","gap":"\n\n"},{"id":"b020","type":"paragraph","text":"⟨00:05:56⟩ برای تبدیل ۵۷ به مبنای ۲: آیا ۶۴ از آن کم می‌شود؟ نه، پس صفر. آیا ۳۲ کم می‌شود؟ بله، یک؛ ۲۵ باقی می‌ماند. از ۲۵، عدد ۱۶ کم می‌شود؛ ۹ می‌ماند. از ۹، عدد ۸ کم می‌شود؛ ۱ می‌ماند. از ۱، نه ۴ و نه ۲ کم می‌شود، ولی ۱ کم می‌شود. نتیجه نمایش باینری عدد است:","src":"⟨00:05:56⟩ برای تبدیل ۵۷ به مبنای ۲: آیا ۶۴ از آن کم می‌شود؟ نه، پس صفر. آیا ۳۲ کم می‌شود؟ بله، یک؛ ۲۵ باقی می‌ماند. از ۲۵، عدد ۱۶ کم می‌شود؛ ۹ می‌ماند. از ۹، عدد ۸ کم می‌شود؛ ۱ می‌ماند. از ۱، نه ۴ و نه ۲ کم می‌شود، ولی ۱ کم می‌شود. نتیجه نمایش باینری عدد است:","gap":"\n\n"},{"id":"b021","type":"math","tex":"57_{10} = 111001_{2}","oneline":true,"src":"$$57_{10} = 111001_{2}$$","gap":"\n\n"},{"id":"b022","type":"paragraph","text":"⟨00:07:28⟩ تبدیل برعکس (باینری به ده‌دهی) با همان وزن‌ها انجام می‌شود: هر بیت در وزنِ جایگاهش ضرب و همه جمع می‌شوند:","src":"⟨00:07:28⟩ تبدیل برعکس (باینری به ده‌دهی) با همان وزن‌ها انجام می‌شود: هر بیت در وزنِ جایگاهش ضرب و همه جمع می‌شوند:","gap":"\n\n"},{"id":"b023","type":"math","tex":"N_{10} = 1 \\times 2^0 + 0 \\times 2^1 + \\dots","oneline":true,"src":"$$N_{10} = 1 \\times 2^0 + 0 \\times 2^1 + \\dots$$","gap":"\n\n"},{"id":"b024","type":"paragraph","text":"⟨00:07:28⟩ این تبدیل فعلاً «کدگذاری» نامیده می‌شود: انتخاب یک سیستم کدگذاری که عدد مبنای ۱۰ را به سیستمی با فقط صفر و یک تبدیل می‌کند. دلیل این طرز صحبت آن است که بعداً ممکن است بر اساس کاربردها و نیازها، سیستم‌های کدگذاری دیگری ساخته شود که آن‌ها هم فقط صفر و یک به کار می‌برند، ولی لزوماً باینری نیستند.","src":"⟨00:07:28⟩ این تبدیل فعلاً «کدگذاری» نامیده می‌شود: انتخاب یک سیستم کدگذاری که عدد مبنای ۱۰ را به سیستمی با فقط صفر و یک تبدیل می‌کند. دلیل این طرز صحبت آن است که بعداً ممکن است بر اساس کاربردها و نیازها، سیستم‌های کدگذاری دیگری ساخته شود که آن‌ها هم فقط صفر و یک به کار می‌برند، ولی لزوماً باینری نیستند.","gap":"\n\n"},{"id":"b025","type":"callout","kind":"example","text":"⟨00:08:37⟩ تبدیل کد $01101001$ به مبنای ۱۰: وزن‌ها نوشته می‌شود ($1, 2, 4, 8, 16, 32, 64$) و حاصل‌ضرب هر بیت در وزنش جمع می‌شود: $64 + 32 + 8 + 1 = 105$. پس اگر این کد عدد باینری باشد، معادل آن ۱۰۵ در مبنای ۱۰ است.","src":"> 🧩 **مثال** — ⟨00:08:37⟩ تبدیل کد $01101001$ به مبنای ۱۰: وزن‌ها نوشته می‌شود ($1, 2, 4, 8, 16, 32, 64$) و حاصل‌ضرب هر بیت در وزنش جمع می‌شود: $64 + 32 + 8 + 1 = 105$. پس اگر این کد عدد باینری باشد، معادل آن ۱۰۵ در مبنای ۱۰ است.","gap":"\n\n"},{"id":"b026","type":"paragraph","text":"⟨00:08:37⟩ نکتهٔ مهم: عبارتِ «اگر این کد عدد باینری باشد» عمدی است — ممکن است جایی رشته‌ای از صفر و یک دیده شود که لزوماً عدد باینری نیست؛ تفسیر آن به قرارداد کدگذاری بستگی دارد.","src":"⟨00:08:37⟩ نکتهٔ مهم: عبارتِ «اگر این کد عدد باینری باشد» عمدی است — ممکن است جایی رشته‌ای از صفر و یک دیده شود که لزوماً عدد باینری نیست؛ تفسیر آن به قرارداد کدگذاری بستگی دارد.","gap":"\n\n"},{"id":"b027","type":"heading","level":3,"text":"طول نمایش و اعداد کسری","src":"### طول نمایش و اعداد کسری","gap":"\n\n"},{"id":"b028","type":"paragraph","text":"⟨00:09:35 (؟)⟩ در هر سیستم کدگذاری دیجیتال، **طول نمایش** عدد اهمیت دارد. روی کاغذ می‌توان هر عددی را با هر طولی نوشت و اگر بزرگ شد، سمت چپش رقم افزود؛ ولی در سیستم دیجیتال این ممکن نیست، چون برای نگه‌داشتن هر عدد یک فضای مشخص (space) لازم است و برای انتقال آن هم مثلاً ۸ سیم. به همین دلیل کدگذاری‌ها در سیستم‌های دیجیتال همیشه با یک اندازهٔ مشخص همراه‌اند.","src":"⟨00:09:35 (؟)⟩ در هر سیستم کدگذاری دیجیتال، **طول نمایش** عدد اهمیت دارد. روی کاغذ می‌توان هر عددی را با هر طولی نوشت و اگر بزرگ شد، سمت چپش رقم افزود؛ ولی در سیستم دیجیتال این ممکن نیست، چون برای نگه‌داشتن هر عدد یک فضای مشخص (space) لازم است و برای انتقال آن هم مثلاً ۸ سیم. به همین دلیل کدگذاری‌ها در سیستم‌های دیجیتال همیشه با یک اندازهٔ مشخص همراه‌اند.","gap":"\n\n"},{"id":"b029","type":"paragraph","text":"⟨00:10:33⟩ پس هنگام نمایش یک عدد باینری باید هم بگوییم در چه سیستمی است و هم **سایز** آن چقدر است؛ مثلاً اینکه عددی در سیستم ۸-بیتی چگونه نمایش داده می‌شود. اگر مجبور به نمایش در سیستم دیجیتال نبودیم، بیانِ سایز به این شکل مطرح نبود.","src":"⟨00:10:33⟩ پس هنگام نمایش یک عدد باینری باید هم بگوییم در چه سیستمی است و هم **سایز** آن چقدر است؛ مثلاً اینکه عددی در سیستم ۸-بیتی چگونه نمایش داده می‌شود. اگر مجبور به نمایش در سیستم دیجیتال نبودیم، بیانِ سایز به این شکل مطرح نبود.","gap":"\n\n"},{"id":"b030","type":"paragraph","text":"⟨00:11:18⟩ یک عدد صحیح (integer) را می‌توان به صورت باینری نوشت و یک عدد کسری (fractional) را هم به همان صورت. مثلاً برای عددی مثل $105.56$، بخش صحیح و بخش کسری جداگانه به باینری تبدیل می‌شوند.","src":"⟨00:11:18⟩ یک عدد صحیح (integer) را می‌توان به صورت باینری نوشت و یک عدد کسری (fractional) را هم به همان صورت. مثلاً برای عددی مثل $105.56$، بخش صحیح و بخش کسری جداگانه به باینری تبدیل می‌شوند.","gap":"\n\n"},{"id":"b031","type":"paragraph","text":"⟨00:12:00⟩","src":"⟨00:12:00⟩","gap":"\n\n"},{"id":"b032","type":"callout","kind":"example","text":"⟨00:12:00⟩ تبدیل بخش صحیحِ 105 به باینری: آیا می‌توان 128 را کم کرد؟ نه، پس صفر. 64 را می‌توان کم کرد، 1 می‌گذاریم و 41 می‌ماند. 32 را می‌توان کم کرد، 1 می‌گذاریم و 9 می‌ماند. از 9 نمی‌توان 16 کم کرد، 8 را می‌توان، 4 و 2 را نه، و 1 را هم می‌توان. نتیجه برای 105 به دست می‌آید.","src":"> 🧩 **مثال** — ⟨00:12:00⟩ تبدیل بخش صحیحِ 105 به باینری: آیا می‌توان 128 را کم کرد؟ نه، پس صفر. 64 را می‌توان کم کرد، 1 می‌گذاریم و 41 می‌ماند. 32 را می‌توان کم کرد، 1 می‌گذاریم و 9 می‌ماند. از 9 نمی‌توان 16 کم کرد، 8 را می‌توان، 4 و 2 را نه، و 1 را هم می‌توان. نتیجه برای 105 به دست می‌آید.","gap":"\n\n"},{"id":"b033","type":"paragraph","text":"⟨00:12:32⟩ در سمت چپِ ممیز، توان‌ها به طرف مثبت می‌روند: $2^0$، $2^1$ و بعد. به نقطهٔ سمت راستِ عدد ده‌دهی، **ممیز ده‌دهی** (decimal point) و به نقطهٔ سمت راستِ عدد باینری، **ممیز باینری** (binary point) می‌گویند. در سمت راستِ ممیز باینری، وزن‌ها منفی‌اند: $2^{-1}$، $2^{-2}$ و به همین ترتیب.","src":"⟨00:12:32⟩ در سمت چپِ ممیز، توان‌ها به طرف مثبت می‌روند: $2^0$، $2^1$ و بعد. به نقطهٔ سمت راستِ عدد ده‌دهی، **ممیز ده‌دهی** (decimal point) و به نقطهٔ سمت راستِ عدد باینری، **ممیز باینری** (binary point) می‌گویند. در سمت راستِ ممیز باینری، وزن‌ها منفی‌اند: $2^{-1}$، $2^{-2}$ و به همین ترتیب.","gap":"\n\n"},{"id":"b034","type":"paragraph","text":"⟨00:13:39⟩ این وزن‌های کسری عبارت‌اند از: $2^{-1} = 0.5$، $2^{-2} = 0.25$، $2^{-3} = 0.125$، $2^{-4} = 0.0625$، $2^{-5} = 0.03125$، $2^{-6} = 0.015625$ و ادامه.","src":"⟨00:13:39⟩ این وزن‌های کسری عبارت‌اند از: $2^{-1} = 0.5$، $2^{-2} = 0.25$، $2^{-3} = 0.125$، $2^{-4} = 0.0625$، $2^{-5} = 0.03125$، $2^{-6} = 0.015625$ و ادامه.","gap":"\n\n"},{"id":"b035","type":"paragraph","text":"⟨00:13:51⟩","src":"⟨00:13:51⟩","gap":"\n\n"},{"id":"b036","type":"callout","kind":"example","text":"⟨00:13:51⟩ تبدیل بخش کسری 0.56: از آن می‌توان 0.5 را کم کرد و 0.06 می‌ماند. 0.25 را نمی‌توان، 0.125 را نمی‌توان، 0.0625 را نمی‌توان. 0.03125 را می‌توان کم کرد و 0.015625 را هم می‌توان. بنابراین 0.56 می‌شود 100011. چون با کم‌کردن این دو رقم به صفر نرسیدیم، ادامه می‌دهیم.","src":"> 🧩 **مثال** — ⟨00:13:51⟩ تبدیل بخش کسری 0.56: از آن می‌توان 0.5 را کم کرد و 0.06 می‌ماند. 0.25 را نمی‌توان، 0.125 را نمی‌توان، 0.0625 را نمی‌توان. 0.03125 را می‌توان کم کرد و 0.015625 را هم می‌توان. بنابراین 0.56 می‌شود 100011. چون با کم‌کردن این دو رقم به صفر نرسیدیم، ادامه می‌دهیم.","gap":"\n\n"},{"id":"b037","type":"paragraph","text":"⟨00:14:41⟩ وقتی یک عدد کسری را با دو رقم می‌نویسید، یعنی دقت (precision) شما دو رقم است؛ اگر صفر هم می‌گذاشتید، دقت سه رقم می‌شد. برای حفظ همین دقت، هر رقم کسری ده‌دهی به سه رقم باینری تبدیل می‌شود.","src":"⟨00:14:41⟩ وقتی یک عدد کسری را با دو رقم می‌نویسید، یعنی دقت (precision) شما دو رقم است؛ اگر صفر هم می‌گذاشتید، دقت سه رقم می‌شد. برای حفظ همین دقت، هر رقم کسری ده‌دهی به سه رقم باینری تبدیل می‌شود.","gap":"\n\n"},{"id":"b038","type":"paragraph","text":"⟨00:15:25⟩ دلیلش روشن است: هر رقم ده‌دهی بین 0 تا 9 است. نزدیک‌ترین حالت، ۳ بیت است که بازهٔ 0 تا 7 را می‌دهد؛ اگر ۴ بیت شود، بازهٔ 0 تا 15 می‌شود که با 9 فاصلهٔ زیادی دارد. بنابراین قرارداد این است که هر رقم کسری ده‌دهی به سه رقم کسری باینری تبدیل می‌شود.","src":"⟨00:15:25⟩ دلیلش روشن است: هر رقم ده‌دهی بین 0 تا 9 است. نزدیک‌ترین حالت، ۳ بیت است که بازهٔ 0 تا 7 را می‌دهد؛ اگر ۴ بیت شود، بازهٔ 0 تا 15 می‌شود که با 9 فاصلهٔ زیادی دارد. بنابراین قرارداد این است که هر رقم کسری ده‌دهی به سه رقم کسری باینری تبدیل می‌شود.","gap":"\n\n"},{"id":"b039","type":"paragraph","text":"⟨00:15:37⟩","src":"⟨00:15:37⟩","gap":"\n\n"},{"id":"b040","type":"callout","kind":"def","text":"⟨00:15:37⟩ بیت: رقم باینری (binary digit) را بیت می‌گویند. بیت اولاً معنای انگلیسی دارد یعنی «یک ذره»، و دوماً از «بی»ی اولِ «باینری» و «تی»ی آخرِ «دیجیت» ساخته شده و سال‌هاست استفاده می‌شود.","src":"> 📘 **تعریف** — ⟨00:15:37⟩ بیت: رقم باینری (binary digit) را بیت می‌گویند. بیت اولاً معنای انگلیسی دارد یعنی «یک ذره»، و دوماً از «بی»ی اولِ «باینری» و «تی»ی آخرِ «دیجیت» ساخته شده و سال‌هاست استفاده می‌شود.","gap":"\n\n"},{"id":"b041","type":"paragraph","text":"⟨00:16:40⟩","src":"⟨00:16:40⟩","gap":"\n\n"},{"id":"b042","type":"callout","kind":"example","text":"⟨00:16:40⟩ تبدیل یک عدد باینری با ممیز به ده‌دهی: عددی ۸ بیتی به شکل 10110… و 11010 در نظر گرفته می‌شود. وزن‌ها از چپ نوشته می‌شوند: 1، 2، 4، 8، 16، 32 و در سمت کسری 0.5، 0.25، 0.0625.","src":"> 🧩 **مثال** — ⟨00:16:40⟩ تبدیل یک عدد باینری با ممیز به ده‌دهی: عددی ۸ بیتی به شکل 10110… و 11010 در نظر گرفته می‌شود. وزن‌ها از چپ نوشته می‌شوند: 1، 2، 4، 8، 16، 32 و در سمت کسری 0.5، 0.25، 0.0625.","gap":"\n\n"},{"id":"b043","type":"paragraph","text":"⟨00:17:48⟩ در محاسبهٔ بخش صحیح، جمع وزن‌ها می‌شود 96، و دو رقم بعدی 48 می‌دهند؛ با 2 جمع می‌شود 50.","src":"⟨00:17:48⟩ در محاسبهٔ بخش صحیح، جمع وزن‌ها می‌شود 96، و دو رقم بعدی 48 می‌دهند؛ با 2 جمع می‌شود 50.","gap":"\n\n"},{"id":"b044","type":"paragraph","text":"⟨00:18:10⟩ در سمت کسری، 0.5 و 0.25 جمع می‌شوند و 0.75 به دست می‌آید؛ به‌علاوهٔ 0.0625 که جمع کل کسری می‌شود 0.8125. بنابراین عدد باینریِ بالا به این مقدار ده‌دهی تبدیل می‌شود.","src":"⟨00:18:10⟩ در سمت کسری، 0.5 و 0.25 جمع می‌شوند و 0.75 به دست می‌آید؛ به‌علاوهٔ 0.0625 که جمع کل کسری می‌شود 0.8125. بنابراین عدد باینریِ بالا به این مقدار ده‌دهی تبدیل می‌شود.","gap":"\n\n"},{"id":"b045","type":"heading","level":3,"text":"نمایش هگزادسیمال و اکتال","src":"### نمایش هگزادسیمال و اکتال","gap":"\n\n"},{"id":"b046","type":"paragraph","text":"⟨00:18:46⟩ در سیستم‌های دیجیتال علاوه بر مبنای ۲ (باینری، زبان خود سیستم دیجیتال به‌خاطر ترانزیستور) و مبنای ۱۰ (که خودمان بلدیم)، از **hexadecimal (در صوت: «هگزادسیمال»)** (مبنای ۱۶) و گاهی **آکتال** (octal، مبنای ۸) هم استفاده می‌شود.","src":"⟨00:18:46⟩ در سیستم‌های دیجیتال علاوه بر مبنای ۲ (باینری، زبان خود سیستم دیجیتال به‌خاطر ترانزیستور) و مبنای ۱۰ (که خودمان بلدیم)، از **hexadecimal (در صوت: «هگزادسیمال»)** (مبنای ۱۶) و گاهی **آکتال** (octal، مبنای ۸) هم استفاده می‌شود.","gap":"\n\n"},{"id":"b047","type":"paragraph","text":"⟨00:19:00⟩ چرایی: اعداد باینری تعداد زیادی ۱ و ۰ دارند و برای تایپ‌کردن، واردکردن به دستگاه یا نوشتن به‌عنوان مستندات (documentation)، انتقالشان مشکل است. پس از hexadecimal استفاده می‌کنیم.","src":"⟨00:19:00⟩ چرایی: اعداد باینری تعداد زیادی ۱ و ۰ دارند و برای تایپ‌کردن، واردکردن به دستگاه یا نوشتن به‌عنوان مستندات (documentation)، انتقالشان مشکل است. پس از hexadecimal استفاده می‌کنیم.","gap":"\n\n"},{"id":"b048","type":"paragraph","text":"⟨00:20:01⟩ خوبی hexadecimal این است که هر ۴ دیجیت باینری (هر ۴ بیت) به‌طور کامل در یک رقم hexadecimal جای می‌گیرد (contain می‌شود). ارقام هگز عبارت‌اند از 0، 1، 2، 3، 4 و به همین ترتیب.","src":"⟨00:20:01⟩ خوبی hexadecimal این است که هر ۴ دیجیت باینری (هر ۴ بیت) به‌طور کامل در یک رقم hexadecimal جای می‌گیرد (contain می‌شود). ارقام هگز عبارت‌اند از 0، 1، 2، 3، 4 و به همین ترتیب.","gap":"\n\n"},{"id":"b049","type":"paragraph","text":"⟨00:22:00⟩ بنابراین تبدیل هگز به باینری و باینری به هگز آسان است. در مقابل، دسیمال این‌طور نیست: در دسیمال هر ۴ بیت به‌طور کامل در یک رقم جا نمی‌شود و مرزش بین ۳ و ۴ بیت است.","src":"⟨00:22:00⟩ بنابراین تبدیل هگز به باینری و باینری به هگز آسان است. در مقابل، دسیمال این‌طور نیست: در دسیمال هر ۴ بیت به‌طور کامل در یک رقم جا نمی‌شود و مرزش بین ۳ و ۴ بیت است.","gap":"\n\n"},{"id":"b050","type":"callout","kind":"def","text":"⟨00:20:26⟩ hexadecimal: سیستمی که هر رقمش دقیقاً چهار بیت باینری را کامل کانتین می‌کند؛ «هر 4 تا باینری بیت به طور کامل کانتین می‌شه در یک دونه هگز دیجیت».","src":"> 📘 **تعریف** — ⟨00:20:26⟩ hexadecimal: سیستمی که هر رقمش دقیقاً چهار بیت باینری را کامل کانتین می‌کند؛ «هر 4 تا باینری بیت به طور کامل کانتین می‌شه در یک دونه هگز دیجیت».","gap":"\n\n"},{"id":"b051","type":"callout","kind":"example","text":"⟨00:23:04⟩ تبدیل عدد باینری 0011 0110.1101 0000 به هگز: هر گروه ۴ بیتی یک رقم می‌شود — 0011 می‌شود 3، 0110 می‌شود 5، ممیز، 1101 می‌شود D و 0000 می‌شود 0. نتیجه: 35.D0. این تبدیل خیلی خلاصه‌تر و از نظر مستندسازی و ورود داده (data entry) مناسب‌تر است.","src":"> 🧩 **مثال** — ⟨00:23:04⟩ تبدیل عدد باینری 0011 0110.1101 0000 به هگز: هر گروه ۴ بیتی یک رقم می‌شود — 0011 می‌شود 3، 0110 می‌شود 5، ممیز، 1101 می‌شود D و 0000 می‌شود 0. نتیجه: 35.D0. این تبدیل خیلی خلاصه‌تر و از نظر مستندسازی و ورود داده (data entry) مناسب‌تر است.","gap":"\n\n"},{"id":"b052","type":"paragraph","text":"⟨00:23:46⟩ سیستم هگز آن‌قدر به باینری نزدیک است که گاهی فایلی را «باینری فایل» می‌نامند ولی محتوایش اعداد هگز است؛ این از نظر دقیق غلط است، ولی چون تبدیل بسیار سریع انجام می‌شود، زیاد نگران‌کننده نیست.","src":"⟨00:23:46⟩ سیستم هگز آن‌قدر به باینری نزدیک است که گاهی فایلی را «باینری فایل» می‌نامند ولی محتوایش اعداد هگز است؛ این از نظر دقیق غلط است، ولی چون تبدیل بسیار سریع انجام می‌شود، زیاد نگران‌کننده نیست.","gap":"\n\n"},{"id":"b053","type":"paragraph","text":"⟨00:24:12⟩ **آکتال** (مبنای ۸): سه بیت کامل در یک رقم آکتال کانتین می‌شود، پس تبدیلش هم آسان است — بیت‌ها را سه‌تا سه‌تا تکه می‌کنید و تبدیل می‌کنید. قدیم‌ها استفاده می‌شد، ولی امروزه طول کلمهٔ (word length) سیستم‌ها مضرب ۴ است: ۴، ۸، ۱۶، ۳۲، ۶۴، ۱۲۸ بیت. این اعداد بر ۴ بخش‌پذیرند ولی بر ۳ نه.","src":"⟨00:24:12⟩ **آکتال** (مبنای ۸): سه بیت کامل در یک رقم آکتال کانتین می‌شود، پس تبدیلش هم آسان است — بیت‌ها را سه‌تا سه‌تا تکه می‌کنید و تبدیل می‌کنید. قدیم‌ها استفاده می‌شد، ولی امروزه طول کلمهٔ (word length) سیستم‌ها مضرب ۴ است: ۴، ۸، ۱۶، ۳۲، ۶۴، ۱۲۸ بیت. این اعداد بر ۴ بخش‌پذیرند ولی بر ۳ نه.","gap":"\n\n"},{"id":"b054","type":"paragraph","text":"⟨00:24:12⟩ استثنای تاریخی: قدیم کامپیوترهایی با طول کلمهٔ ۶۰ بیت بود که برای تقسیم سه‌بیتی بسیار مناسب‌تر بود (هرچند ۶۰ بر ۴ هم بخش‌پذیر است). برای دلایل تاریخی هنوز آکتال را نام می‌بریم.","src":"⟨00:24:12⟩ استثنای تاریخی: قدیم کامپیوترهایی با طول کلمهٔ ۶۰ بیت بود که برای تقسیم سه‌بیتی بسیار مناسب‌تر بود (هرچند ۶۰ بر ۴ هم بخش‌پذیر است). برای دلایل تاریخی هنوز آکتال را نام می‌بریم.","gap":"\n\n"},{"id":"b055","type":"paragraph","text":"⟨00:25:32⟩ چرا به مبنای بزرگ‌تر نمی‌رویم، مثلاً ۵ یا ۸ بیت؟ چون دیگر در ذهن قابل نگه‌داشتن نیست؛ مثلاً سیستم ۸ بیتی چیزی عادی نیست که بخواهیم حفظ کنیم.","src":"⟨00:25:32⟩ چرا به مبنای بزرگ‌تر نمی‌رویم، مثلاً ۵ یا ۸ بیت؟ چون دیگر در ذهن قابل نگه‌داشتن نیست؛ مثلاً سیستم ۸ بیتی چیزی عادی نیست که بخواهیم حفظ کنیم.","gap":"\n\n"},{"id":"b056","type":"paragraph","text":"⟨00:20:26⟩ مقایسهٔ سه سیستم:","src":"⟨00:20:26⟩ مقایسهٔ سه سیستم:","gap":"\n\n"},{"id":"b057","type":"paragraph","text":"⟨00:20:26⟩","src":"⟨00:20:26⟩","gap":"\n\n"},{"id":"b058","type":"table","head":["سیستم","بیت‌های متناظر با هر رقم","سهولت تبدیل از باینری","تناسب با طول کلمه‌های رایج"],"rows":[["باینری","—","—","—"],["هگزادسیمال","۴ بیت","آسان (هر ۴ بیت کامل جا می‌شود)","—"],["آکتال","۳ بیت","—","قدیم، مثل ۶۰ بیت"]],"src":"| سیستم | بیت‌های متناظر با هر رقم | سهولت تبدیل از باینری | تناسب با طول کلمه‌های رایج |\n|---|---|---|---|\n| باینری | — | — | — |\n| هگزادسیمال | ۴ بیت | آسان (هر ۴ بیت کامل جا می‌شود) | — |\n| آکتال | ۳ بیت | — | قدیم، مثل ۶۰ بیت |","gap":"\n\n"},{"id":"b059","type":"heading","level":2,"text":"کدگذاری اعداد علامت‌دار","src":"## کدگذاری اعداد علامت‌دار","gap":"\n\n"},{"id":"b060","type":"paragraph","text":"⟨00:26:24⟩ تا اینجا باینری را گفتیم: بخش صحیح (integer part)، بخش کسری (fractional part) و کدگذاری‌اش. حالا اعداد مثبت و منفی: مثلاً می‌خواهیم ۵۴ یا منفی ۵۴ را نمایش دهیم، و باید طول نمایش (سایز) را هم در نظر بگیریم.","src":"⟨00:26:24⟩ تا اینجا باینری را گفتیم: بخش صحیح (integer part)، بخش کسری (fractional part) و کدگذاری‌اش. حالا اعداد مثبت و منفی: مثلاً می‌خواهیم ۵۴ یا منفی ۵۴ را نمایش دهیم، و باید طول نمایش (سایز) را هم در نظر بگیریم.","gap":"\n\n"},{"id":"b061","type":"callout","kind":"example","text":"⟨00:26:41⟩ تبدیل ۵۴ به باینری ۸ بیتی: با وزن‌های 1، 2، 4، 8، 16، 32، 64 و 128 — از ۵۴، ۳۲ را کم می‌کنیم، می‌شود ۲۲ (یک ۱ در جای ۳۲)؛ از ۲۲، ۱۶ را کم می‌کنیم، می‌شود ۶؛ باقی 0، 1، 1، 0. نتیجه: 00110110 (؟).","src":"> 🧩 **مثال** — ⟨00:26:41⟩ تبدیل ۵۴ به باینری ۸ بیتی: با وزن‌های 1، 2، 4، 8، 16، 32، 64 و 128 — از ۵۴، ۳۲ را کم می‌کنیم، می‌شود ۲۲ (یک ۱ در جای ۳۲)؛ از ۲۲، ۱۶ را کم می‌کنیم، می‌شود ۶؛ باقی 0، 1، 1، 0. نتیجه: 00110110 (؟).","gap":"\n\n"},{"id":"b062","type":"paragraph","text":"⟨00:27:47⟩ ساده‌ترین ایده برای منفی ۵۴: چون غیر از صفر و یک چیزی نداریم، یکی از بیت‌های ۸ بیتی را به علامت اختصاص می‌دهیم — بیت سمت چپ را ۱ می‌گذاریم و باقی همان ۵۴: 10110110. این بیت را **بیت علامت** (sign bit) می‌نامیم.","src":"⟨00:27:47⟩ ساده‌ترین ایده برای منفی ۵۴: چون غیر از صفر و یک چیزی نداریم، یکی از بیت‌های ۸ بیتی را به علامت اختصاص می‌دهیم — بیت سمت چپ را ۱ می‌گذاریم و باقی همان ۵۴: 10110110. این بیت را **بیت علامت** (sign bit) می‌نامیم.","gap":"\n\n"},{"id":"b063","type":"paragraph","text":"⟨00:28:49⟩ به این کدگذاری **علامت‌ومقدار** (sign and magnitude) می‌گویند: قسمت مقدار (magnitude) همان‌طور که باید باشد، و یک بیت هم به علامت عدد اختصاص یافته است.","src":"⟨00:28:49⟩ به این کدگذاری **علامت‌ومقدار** (sign and magnitude) می‌گویند: قسمت مقدار (magnitude) همان‌طور که باید باشد، و یک بیت هم به علامت عدد اختصاص یافته است.","gap":"\n\n"},{"id":"b064","type":"paragraph","text":"⟨00:29:06⟩ تبدیل عدد مثبت به منفی و برعکس در این سیستم آسان است: فقط بیت علامت را برمی‌گردانیم — ۱ را صفر و ۰ را یک می‌کنیم («جاست لایک دیس»).","src":"⟨00:29:06⟩ تبدیل عدد مثبت به منفی و برعکس در این سیستم آسان است: فقط بیت علامت را برمی‌گردانیم — ۱ را صفر و ۰ را یک می‌کنیم («جاست لایک دیس»).","gap":"\n\n"},{"id":"b065","type":"paragraph","text":"⟨00:29:27⟩ ولی در حساب (arithmetic) این سیستم مسئله دارد؛ صحبتش بعداً می‌آید. نکتهٔ مهم: هر رشتهٔ بیت را می‌توان به چند صورت تفسیر کرد — مثلاً 10110110 بسته به کدگذاری، معنایش فرق می‌کند؛ یعنی ورژن‌های مختلفی از کدگذاری تعریف می‌کنیم.","src":"⟨00:29:27⟩ ولی در حساب (arithmetic) این سیستم مسئله دارد؛ صحبتش بعداً می‌آید. نکتهٔ مهم: هر رشتهٔ بیت را می‌توان به چند صورت تفسیر کرد — مثلاً 10110110 بسته به کدگذاری، معنایش فرق می‌کند؛ یعنی ورژن‌های مختلفی از کدگذاری تعریف می‌کنیم.","gap":"\n\n"},{"id":"b066","type":"paragraph","text":"⟨00:27:47⟩ مقایسهٔ دو تفسیر یک رشتهٔ ۸ بیتی:","src":"⟨00:27:47⟩ مقایسهٔ دو تفسیر یک رشتهٔ ۸ بیتی:","gap":"\n\n"},{"id":"b067","type":"paragraph","text":"⟨00:27:47⟩","src":"⟨00:27:47⟩","gap":"\n\n"},{"id":"b068","type":"table","head":["علامت‌ومقدار","بیت علامت","علامت ۱ + همان مقدار","—"],"rows":[],"src":"| علامت‌ومقدار | بیت علامت | علامت ۱ + همان مقدار | — |","gap":"\n\n"},{"id":"b069","type":"heading","level":3,"text":"نمایش علامت‌ومقدار و مسئلهٔ صفر","src":"### نمایش علامت‌ومقدار و مسئلهٔ صفر","gap":"\n\n"},{"id":"b070","type":"paragraph","text":"⟨00:27:47⟩ در علامت‌ومقدار، نمایش منفی ۵۴ در ۸ بیت چنین است: بیت علامت ۱ و بقیهٔ بیت‌ها همان نمایش ۵۴، یعنی 10110110.","src":"⟨00:27:47⟩ در علامت‌ومقدار، نمایش منفی ۵۴ در ۸ بیت چنین است: بیت علامت ۱ و بقیهٔ بیت‌ها همان نمایش ۵۴، یعنی 10110110.","gap":"\n\n"},{"id":"b071","type":"paragraph","text":"⟨00:29:17⟩ برای تغییر علامت کافی است بیت علامت را برگردانیم: مثبت به منفی و منفی به مثبت با صفر و یک‌کردن همان بیت انجام می‌شود.","src":"⟨00:29:17⟩ برای تغییر علامت کافی است بیت علامت را برگردانیم: مثبت به منفی و منفی به مثبت با صفر و یک‌کردن همان بیت انجام می‌شود.","gap":"\n\n"},{"id":"b072","type":"paragraph","text":"⟨00:39:43⟩ پرسش: در علامت‌ومقدار با صفر چه می‌شود؟ پاسخ: در این سیستم دو صفر داریم — یک صفر مثبت و یک صفر منفی.","src":"⟨00:39:43⟩ پرسش: در علامت‌ومقدار با صفر چه می‌شود؟ پاسخ: در این سیستم دو صفر داریم — یک صفر مثبت و یک صفر منفی.","gap":"\n\n"},{"id":"b073","type":"paragraph","text":"⟨00:40:12⟩ دربارهٔ جمع شدن و حاصل منفی صفر: استاد گفت هنوز به جمع و تفریق نرسیده‌ایم و صحبتش را به بعد موکول کرد.","src":"⟨00:40:12⟩ دربارهٔ جمع شدن و حاصل منفی صفر: استاد گفت هنوز به جمع و تفریق نرسیده‌ایم و صحبتش را به بعد موکول کرد.","gap":"\n\n"},{"id":"b074","type":"heading","level":3,"text":"تفسیر رشتهٔ بیت לפי قرارداد کدگذاری","src":"### تفسیر رشتهٔ بیت לפי قرارداد کدگذاری","gap":"\n\n"},{"id":"b075","type":"paragraph","text":"⟨00:30:09⟩ یک رشتهٔ بیت به خودی خود عدد نیست؛ برای تفسیرش باید بدانیم در چه کدگذاری (coding) است و طول آن چند بیت است. اگر گفته شود رشته‌ای ۸ بیتی و بدون علامت (unsigned number) است، چون علامتی وجود ندارد، بیت سمت چپ هم جزو خودِ عدد است.","src":"⟨00:30:09⟩ یک رشتهٔ بیت به خودی خود عدد نیست؛ برای تفسیرش باید بدانیم در چه کدگذاری (coding) است و طول آن چند بیت است. اگر گفته شود رشته‌ای ۸ بیتی و بدون علامت (unsigned number) است، چون علامتی وجود ندارد، بیت سمت چپ هم جزو خودِ عدد است.","gap":"\n\n"},{"id":"b076","type":"paragraph","text":"⟨00:30:29⟩ تفسیر رشتهٔ $10110110$ به‌عنوان عدد ۸ بیتی بدون علامت، با ارزش‌های جایگاهی:","src":"⟨00:30:29⟩ تفسیر رشتهٔ $10110110$ به‌عنوان عدد ۸ بیتی بدون علامت، با ارزش‌های جایگاهی:","gap":"\n\n"},{"id":"b077","type":"math","tex":"\\begin{aligned} &1,\\ 2,\\ 4,\\ 8,\\ 16,\\ 32,\\ 64,\\ 128 \\\\ &130 + 48 + 4 = 182 \\end{aligned}","oneline":true,"src":"$$\\begin{aligned} &1,\\ 2,\\ 4,\\ 8,\\ 16,\\ 32,\\ 64,\\ 128 \\\\ &130 + 48 + 4 = 182 \\end{aligned}$$","gap":"\n\n"},{"id":"b078","type":"paragraph","text":"⟨00:31:19⟩ پس در سیستم ۸ بیتی بدون علامت همین رشته می‌شود $182$. اما اگر همان رشته را در کد علامت‌ومقدار (sign and magnitude) تفسیر کنیم، بیت سمت چپ علامت است و عدد می‌شود $-54$. پس یک مشت ۱ و ۰ را باید حتماً بدانیم چطور تفسیر کنیم — تفسیر به قرارداد کدگذاری بستگی دارد.","src":"⟨00:31:19⟩ پس در سیستم ۸ بیتی بدون علامت همین رشته می‌شود $182$. اما اگر همان رشته را در کد علامت‌ومقدار (sign and magnitude) تفسیر کنیم، بیت سمت چپ علامت است و عدد می‌شود $-54$. پس یک مشت ۱ و ۰ را باید حتماً بدانیم چطور تفسیر کنیم — تفسیر به قرارداد کدگذاری بستگی دارد.","gap":"\n\n"},{"id":"b079","type":"paragraph","text":"⟨00:31:48⟩ جدول مقایسهٔ تفسیر $10110110$:","src":"⟨00:31:48⟩ جدول مقایسهٔ تفسیر $10110110$:","gap":"\n\n"},{"id":"b080","type":"paragraph","text":"⟨00:31:19⟩","src":"⟨00:31:19⟩","gap":"\n\n"},{"id":"b081","type":"table","head":["کدگذاری","ارزش بیت سمت چپ","مقدار تفسیرشده"],"rows":[["عدد بدون علامت ۸ بیتی","جزو عدد","$182$"],["علامت‌ومقدار","علامت","$-54$"]],"src":"| کدگذاری | ارزش بیت سمت چپ | مقدار تفسیرشده |\n|---|---|---|\n| عدد بدون علامت ۸ بیتی | جزو عدد | $182$ |\n| علامت‌ومقدار | علامت | $-54$ |","gap":"\n\n"},{"id":"b082","type":"paragraph","text":"⟨00:32:50⟩ تا اینجا در کدگذاری‌ها باینری با قسمت صحیح و کسری، علامت‌ومقدار، بدون علامت و طول کلمه (word length) مطرح شده است.","src":"⟨00:32:50⟩ تا اینجا در کدگذاری‌ها باینری با قسمت صحیح و کسری، علامت‌ومقدار، بدون علامت و طول کلمه (word length) مطرح شده است.","gap":"\n\n"},{"id":"b083","type":"heading","level":2,"text":"کد ده‌دهیِ کدگذاری‌شدهٔ دودویی (BCD)","src":"## کد ده‌دهیِ کدگذاری‌شدهٔ دودویی (BCD)","gap":"\n\n"},{"id":"b084","type":"paragraph","text":"⟨00:33:13⟩ لزوماً هر سیستمی که اعداد را نمایش می‌دهد، برای جمع و تفریق نیست. خیلی وقت‌ها عددی داریم که ارزش عددی‌اش مهم نیست، بلکه جایگاه رقم‌هایش مهم است — مثلاً شمارهٔ تلفن که هرگز جمع و تفریق نمی‌کنیم.","src":"⟨00:33:13⟩ لزوماً هر سیستمی که اعداد را نمایش می‌دهد، برای جمع و تفریق نیست. خیلی وقت‌ها عددی داریم که ارزش عددی‌اش مهم نیست، بلکه جایگاه رقم‌هایش مهم است — مثلاً شمارهٔ تلفن که هرگز جمع و تفریق نمی‌کنیم.","gap":"\n\n"},{"id":"b085","type":"paragraph","text":"⟨00:34:02⟩ 🧩 **مثال** — شمارهٔ تلفن تهران با پیش‌شمارهٔ $021$ و بخش امیرآباد، مثل $021\\,88\\,1234$: در نمایش ده‌دهی، با نگاه به $21$ می‌گوییم کد تهران است و با نگاه به $28$ می‌گوییم کد امیرآباد است. اگر این شماره به باینری تبدیل شود، هر رقم در بیت‌های باینری پخش می‌شود و دیگر نمی‌توان رقم‌ها را از هم جدا کرد و این الگوها را تشخیص داد.","src":"⟨00:34:02⟩ 🧩 **مثال** — شمارهٔ تلفن تهران با پیش‌شمارهٔ $021$ و بخش امیرآباد، مثل $021\\,88\\,1234$: در نمایش ده‌دهی، با نگاه به $21$ می‌گوییم کد تهران است و با نگاه به $28$ می‌گوییم کد امیرآباد است. اگر این شماره به باینری تبدیل شود، هر رقم در بیت‌های باینری پخش می‌شود و دیگر نمی‌توان رقم‌ها را از هم جدا کرد و این الگوها را تشخیص داد.","gap":"\n\n"},{"id":"b086","type":"paragraph","text":"⟨00:35:27⟩ راه‌حل، ایده‌ای شبیه hexadecimal است: هر رقم ده‌دهی به‌طور کامل در چند بیت جا بگیرد. هر رقم برای نمایش کامل حداقل ۴ بیت می‌خواهد — چون ارقام $0$ تا $9$ است و با ۳ بیت، ارقام $8$ و $9$ نمایش داده نمی‌شدند. پس هر رقم جداگانه تبدیل می‌شود: $0$ می‌شود $0000$ و $9$ می‌شود $1001$.","src":"⟨00:35:27⟩ راه‌حل، ایده‌ای شبیه hexadecimal است: هر رقم ده‌دهی به‌طور کامل در چند بیت جا بگیرد. هر رقم برای نمایش کامل حداقل ۴ بیت می‌خواهد — چون ارقام $0$ تا $9$ است و با ۳ بیت، ارقام $8$ و $9$ نمایش داده نمی‌شدند. پس هر رقم جداگانه تبدیل می‌شود: $0$ می‌شود $0000$ و $9$ می‌شود $1001$.","gap":"\n\n"},{"id":"b087","type":"paragraph","text":"⟨00:36:11⟩ 🧩 **مثال** — تبدیل رقم‌به‌رقمِ همان شمارهٔ تلفن: $2 \\to 0010$، $1 \\to 0001$، $8 \\to 1000$، $8$ بعدی $\\to 1000$، $0$ها $\\to 0000$، $1 \\to 0001$، $2 \\to 0010$، $3 \\to 0011$، $4 \\to 0100$. حالا یک مشت صفر و یک داریم که شماره در سیستم سیو شده. برای پیدا کردن پیش‌شماره، ۸ بیت سمت چپ را نگاه می‌کنیم: اگر آن پترن پیدا شود، شماره تهران است و اگر پترن بعدی پیدا شود، امیرآباد است — همان مپینگ با دسیمال حفظ می‌شود.","src":"⟨00:36:11⟩ 🧩 **مثال** — تبدیل رقم‌به‌رقمِ همان شمارهٔ تلفن: $2 \\to 0010$، $1 \\to 0001$، $8 \\to 1000$، $8$ بعدی $\\to 1000$، $0$ها $\\to 0000$، $1 \\to 0001$، $2 \\to 0010$، $3 \\to 0011$، $4 \\to 0100$. حالا یک مشت صفر و یک داریم که شماره در سیستم سیو شده. برای پیدا کردن پیش‌شماره، ۸ بیت سمت چپ را نگاه می‌کنیم: اگر آن پترن پیدا شود، شماره تهران است و اگر پترن بعدی پیدا شود، امیرآباد است — همان مپینگ با دسیمال حفظ می‌شود.","gap":"\n\n"},{"id":"b088","type":"paragraph","text":"⟨00:37:26⟩ خوبی این سیستم کانورژن آسان است، ولی جمع و تفریق رویش سخت است و از جمع و تفریق باینری خارج می‌شود.","src":"⟨00:37:26⟩ خوبی این سیستم کانورژن آسان است، ولی جمع و تفریق رویش سخت است و از جمع و تفریق باینری خارج می‌شود.","gap":"\n\n"},{"id":"b089","type":"callout","kind":"def","text":"⟨00:39:17⟩ کد BCD (در صوت: «بی‌سی‌دی») (Binary-Coded Decimal): سیستمی است که هر رقم ده‌دهی به‌طور کامل در ۴ بیت نمایش داده می‌شود؛ در واقع چیزی است بین باینری و دسیمال. بیشتر برای شرایطی است که ارزش عددیِ بیت‌پترن به آن صورت اهمیت ندارد.","src":"> 📘 **تعریف** — ⟨00:39:17⟩ کد BCD (در صوت: «بی‌سی‌دی») (Binary-Coded Decimal): سیستمی است که هر رقم ده‌دهی به‌طور کامل در ۴ بیت نمایش داده می‌شود؛ در واقع چیزی است بین باینری و دسیمال. بیشتر برای شرایطی است که ارزش عددیِ بیت‌پترن به آن صورت اهمیت ندارد.","gap":"\n\n"},{"id":"b090","type":"paragraph","text":"⟨00:38:03⟩ بدی‌اش این است که جا بیشتری می‌گیرد: اینجا هر رقم ۴ بیت می‌گیرد، در حالی که در باینری هر رقم بین ۳ و ۴ بیت می‌گیرد. یعنی یک سری پترن‌ها وِیست (بلااستفاده) شده‌اند — مثلاً از $1000$ استفاده شده ولی پترن‌های $1010$ تا $1111$ (اعداد ۱۰ تا ۱۵) استفاده نشده‌اند؛ به همین جهت تعداد بیت‌ها بیشتر می‌شود.","src":"⟨00:38:03⟩ بدی‌اش این است که جا بیشتری می‌گیرد: اینجا هر رقم ۴ بیت می‌گیرد، در حالی که در باینری هر رقم بین ۳ و ۴ بیت می‌گیرد. یعنی یک سری پترن‌ها وِیست (بلااستفاده) شده‌اند — مثلاً از $1000$ استفاده شده ولی پترن‌های $1010$ تا $1111$ (اعداد ۱۰ تا ۱۵) استفاده نشده‌اند؛ به همین جهت تعداد بیت‌ها بیشتر می‌شود.","gap":"\n\n"},{"id":"b091","type":"paragraph","text":"⟨00:40:01⟩ در پرسش و پاسخ کلاس دربارهٔ علامت‌ومقدار معلوم شد که در این کد دو صفر وجود دارد: یک صفر مثبت و یک صفر منفی. بحث جمع و تفریق این نمایش‌ها به بعد موکول شد.","src":"⟨00:40:01⟩ در پرسش و پاسخ کلاس دربارهٔ علامت‌ومقدار معلوم شد که در این کد دو صفر وجود دارد: یک صفر مثبت و یک صفر منفی. بحث جمع و تفریق این نمایش‌ها به بعد موکول شد.","gap":"\n\n"},{"id":"b092","type":"heading","level":2,"text":"کد گری و کد اکسس‌تری","src":"## کد گری و کد اکسس‌تری","gap":"\n\n"},{"id":"b093","type":"paragraph","text":"⟨00:41:07⟩ پس از BCD، کدگذاری سیستم دیگری معرفی می‌شود. در ادامه، کد گری (Gray code) و کد اکسس‌تری (Excess-3) درس داده می‌شوند.","src":"⟨00:41:07⟩ پس از BCD، کدگذاری سیستم دیگری معرفی می‌شود. در ادامه، کد گری (Gray code) و کد اکسس‌تری (Excess-3) درس داده می‌شوند.","gap":"\n\n"},{"id":"b094","type":"heading","level":3,"text":"تأخیر مدارها و مسئلهٔ شرایط مسابقه","src":"### تأخیر مدارها و مسئلهٔ شرایط مسابقه","gap":"\n\n"},{"id":"b095","type":"paragraph","text":"⟨00:41:15⟩ در یک سیستم الکترونیکی، یک **سنسور** کمیت بیرونی (مثل فشار آب یا فشار باد) را اندازه می‌گیرد و نتیجه را به یک **پروسسینگ یونیت** (processing unit) می‌دهد. برای ساده‌کردن بحث، فرض می‌کنیم خروجی سنسور عددی بین ۰ تا ۱۵ است، یعنی با ۴ بیت نمایش داده می‌شود.","src":"⟨00:41:15⟩ در یک سیستم الکترونیکی، یک **سنسور** کمیت بیرونی (مثل فشار آب یا فشار باد) را اندازه می‌گیرد و نتیجه را به یک **پروسسینگ یونیت** (processing unit) می‌دهد. برای ساده‌کردن بحث، فرض می‌کنیم خروجی سنسور عددی بین ۰ تا ۱۵ است، یعنی با ۴ بیت نمایش داده می‌شود.","gap":"\n\n"},{"id":"b096","type":"paragraph","text":"⟨00:42:27⟩ دنیای داخل سیستم دیجیتال است، ولی دنیای خارج آنالوگ است؛ پس این ۴ بیت مستقیم از بیرون به دست دستگاه نمی‌رسد. پشت این داده‌ها یک سنسور است که مقدار آن با مدار الکترونیکی به دیجیتال تبدیل می‌شود؛ این تبدیل را **ADC** می‌گوییم. سپس قسمت دیجیتال به‌صورت سیم وارد دستگاه می‌شود. سیم در حقیقت یک مقاومت (resistance) و یک خازن (capacitance) دارد.","src":"⟨00:42:27⟩ دنیای داخل سیستم دیجیتال است، ولی دنیای خارج آنالوگ است؛ پس این ۴ بیت مستقیم از بیرون به دست دستگاه نمی‌رسد. پشت این داده‌ها یک سنسور است که مقدار آن با مدار الکترونیکی به دیجیتال تبدیل می‌شود؛ این تبدیل را **ADC** می‌گوییم. سپس قسمت دیجیتال به‌صورت سیم وارد دستگاه می‌شود. سیم در حقیقت یک مقاومت (resistance) و یک خازن (capacitance) دارد.","gap":"\n\n"},{"id":"b097","type":"paragraph","text":"⟨00:43:31⟩ از بخش آنالوگ تا رسیدن به دستگاه، روی هر سیم تأخیرهایی وجود دارد که قابل حس و محاسبه نیستند. حتی دو سیمِ کنار هم روی هم اثر خازنی (capacitive effect) دارند، و هر سیمی — حتی اگر طلا باشد — مقاومت دارد. نتیجه: انتظار نداریم که هر ۴ بیت هم‌زمان تغییر کنند.","src":"⟨00:43:31⟩ از بخش آنالوگ تا رسیدن به دستگاه، روی هر سیم تأخیرهایی وجود دارد که قابل حس و محاسبه نیستند. حتی دو سیمِ کنار هم روی هم اثر خازنی (capacitive effect) دارند، و هر سیمی — حتی اگر طلا باشد — مقاومت دارد. نتیجه: انتظار نداریم که هر ۴ بیت هم‌زمان تغییر کنند.","gap":"\n\n"},{"id":"b098","type":"paragraph","text":"⟨00:44:16⟩ فرض کنید ورودی دستگاه ۷ است و قرار است به ۸ برسد. در سیستم باینری ۴ بیتی، ۷ یعنی $0111$ و ۸ یعنی $1000$؛ هر چهار بیت باید عوض شوند.","src":"⟨00:44:16⟩ فرض کنید ورودی دستگاه ۷ است و قرار است به ۸ برسد. در سیستم باینری ۴ بیتی، ۷ یعنی $0111$ و ۸ یعنی $1000$؛ هر چهار بیت باید عوض شوند.","gap":"\n\n"},{"id":"b099","type":"paragraph","text":"⟨00:44:28⟩ اما ممکن است یک بیت زودتر از بقیه عوض شود. اگر بیت اول زودتر یک شود، ورودی لحظه‌ای می‌شود $1111$ یعنی ۱۵.","src":"⟨00:44:28⟩ اما ممکن است یک بیت زودتر از بقیه عوض شود. اگر بیت اول زودتر یک شود، ورودی لحظه‌ای می‌شود $1111$ یعنی ۱۵.","gap":"\n\n"},{"id":"b100","type":"paragraph","text":"⟨00:45:09⟩ به‌تدریج بیت‌های دیگر هم عوض می‌شوند: $1011$ یعنی ۱۳، سپس $1010$ یعنی ۱۰، و سرانجام $1000$ یعنی ۸.","src":"⟨00:45:09⟩ به‌تدریج بیت‌های دیگر هم عوض می‌شوند: $1011$ یعنی ۱۳، سپس $1010$ یعنی ۱۰، و سرانجام $1000$ یعنی ۸.","gap":"\n\n"},{"id":"b101","type":"paragraph","text":"⟨00:45:48⟩ پس سیستم در مراحل مختلف مقادیر گذرای ۷، ۱۵، ۱۳، ۱۰ و ۸ را می‌بیند؛ البته این حالت‌ها زیاد دیده نمی‌شوند.","src":"⟨00:45:48⟩ پس سیستم در مراحل مختلف مقادیر گذرای ۷، ۱۵، ۱۳، ۱۰ و ۸ را می‌بیند؛ البته این حالت‌ها زیاد دیده نمی‌شوند.","gap":"\n\n"},{"id":"b102","type":"paragraph","text":"⟨00:46:39⟩ سیستم مجبور است به هر مقداری که می‌بیند واکنش نشان دهد — مثلاً اگر قرار است شیر (valve) را باز کند یا دستگاه دیگری را فعال کند، با دیدن ۱۵ نگران می‌شود که فشار (pressure) بالا رفته و ممکن است کار دیگری انجام دهد، بعد می‌بیند فشار پایین آمده و سرانجام به ۸ می‌رسد.","src":"⟨00:46:39⟩ سیستم مجبور است به هر مقداری که می‌بیند واکنش نشان دهد — مثلاً اگر قرار است شیر (valve) را باز کند یا دستگاه دیگری را فعال کند، با دیدن ۱۵ نگران می‌شود که فشار (pressure) بالا رفته و ممکن است کار دیگری انجام دهد، بعد می‌بیند فشار پایین آمده و سرانجام به ۸ می‌رسد.","gap":"\n\n"},{"id":"b103","type":"paragraph","text":"⟨00:46:39⟩ بنابراین در سیستمی که آنلاین به ورودی‌هایش نگاه می‌کند، سیستم باینری به‌خاطر همین تأخیرها «خیلی خطرناک» است.","src":"⟨00:46:39⟩ بنابراین در سیستمی که آنلاین به ورودی‌هایش نگاه می‌کند، سیستم باینری به‌خاطر همین تأخیرها «خیلی خطرناک» است.","gap":"\n\n"},{"id":"b104","type":"paragraph","text":"⟨00:47:49⟩ در مقابل، اگر ورودی از ۴ به ۵ برود ($0100$ به $0101$)، مسئله‌ای پیش نمی‌آید؛ چون فقط یک بیت عوض می‌شود و عددی بین این دو به وجود نمی‌آید. از همین‌جا ایده شکل می‌گیرد: سیستمی عددی بسازیم که بین هر دو عدد مجاور فقط یک بیت فاصله باشد.","src":"⟨00:47:49⟩ در مقابل، اگر ورودی از ۴ به ۵ برود ($0100$ به $0101$)، مسئله‌ای پیش نمی‌آید؛ چون فقط یک بیت عوض می‌شود و عددی بین این دو به وجود نمی‌آید. از همین‌جا ایده شکل می‌گیرد: سیستمی عددی بسازیم که بین هر دو عدد مجاور فقط یک بیت فاصله باشد.","gap":"\n\n"},{"id":"b105","type":"heading","level":3,"text":"کد گری","src":"### کد گری","gap":"\n\n"},{"id":"b106","type":"paragraph","text":"⟨00:48:42⟩ با این ایده یک سیستم عددی جدید ساخته می‌شود که صفر آن $0000$ و یک آن $0001$ است و به همین ترتیب ادامه می‌یابد؛ در این کد، هر دو عدد مجاور فقط در یک بیت تفاوت دارند و دیگر عدد قرمزِ وسطِ راهی بین مقادیر متوالی وجود ندارد.","src":"⟨00:48:42⟩ با این ایده یک سیستم عددی جدید ساخته می‌شود که صفر آن $0000$ و یک آن $0001$ است و به همین ترتیب ادامه می‌یابد؛ در این کد، هر دو عدد مجاور فقط در یک بیت تفاوت دارند و دیگر عدد قرمزِ وسطِ راهی بین مقادیر متوالی وجود ندارد.","gap":"\n\n"},{"id":"b107","type":"paragraph","text":"⟨00:51:05⟩ این کد ۴ بیتی است: هر دو عدد کنار هم، مثلاً ۱۰ و ۱۱ یا ۸ و ۹، فقط در یک بیت تفاوت دارند؛ حتی ۷ و ۸ که در باینری مسئلهٔ بزرگی بود، اینجا فقط در یک بیت فرق دارند.","src":"⟨00:51:05⟩ این کد ۴ بیتی است: هر دو عدد کنار هم، مثلاً ۱۰ و ۱۱ یا ۸ و ۹، فقط در یک بیت تفاوت دارند؛ حتی ۷ و ۸ که در باینری مسئلهٔ بزرگی بود، اینجا فقط در یک بیت فرق دارند.","gap":"\n\n"},{"id":"b108","type":"paragraph","text":"⟨00:51:05⟩ علاوه بر آن، آخرین عدد و اولین عدد هم فقط در یک بیت تفاوت دارند. در سیستم باینری معمولی وقتی به آخر می‌رسد، سیستم رول‌اور (roll over) می‌کند: وقتی از $0000$ شروع کرده و به $1111$ رسیده، به $0000$ برمی‌گردد و در آن لحظه ۴ بیت با هم عوض می‌شوند. اما در این کد، از ۱۵ به ۰ هم فقط یک بیت تغییر می‌کند.","src":"⟨00:51:05⟩ علاوه بر آن، آخرین عدد و اولین عدد هم فقط در یک بیت تفاوت دارند. در سیستم باینری معمولی وقتی به آخر می‌رسد، سیستم رول‌اور (roll over) می‌کند: وقتی از $0000$ شروع کرده و به $1111$ رسیده، به $0000$ برمی‌گردد و در آن لحظه ۴ بیت با هم عوض می‌شوند. اما در این کد، از ۱۵ به ۰ هم فقط یک بیت تغییر می‌کند.","gap":"\n\n"},{"id":"b109","type":"callout","kind":"def","text":"⟨00:52:29⟩ **کد گری (Gray code)**: سیستم کدینگی که در آن فاصلهٔ هر دو رقم مجاور (consecutive digits) یک بیت است؛ یعنی «هر ۲ تا کانسکتیو دیجیتس، دیستنس‌شون یک بیته».","src":"> 📘 **تعریف** — ⟨00:52:29⟩ **کد گری (Gray code)**: سیستم کدینگی که در آن فاصلهٔ هر دو رقم مجاور (consecutive digits) یک بیت است؛ یعنی «هر ۲ تا کانسکتیو دیجیتس، دیستنس‌شون یک بیته».","gap":"\n\n"},{"id":"b110","type":"paragraph","text":"⟨00:52:49⟩ کد گری با تعداد بیت‌های مختلف وجود دارد: ۲ بیت، ۳ بیت، ۴ بیت، ۵ بیت و بیت‌های بالاتر. در همهٔ آن‌ها قاعده یکسان است: دو رقم کنار هم بیش از یک بیت با هم فاصله ندارند.","src":"⟨00:52:49⟩ کد گری با تعداد بیت‌های مختلف وجود دارد: ۲ بیت، ۳ بیت، ۴ بیت، ۵ بیت و بیت‌های بالاتر. در همهٔ آن‌ها قاعده یکسان است: دو رقم کنار هم بیش از یک بیت با هم فاصله ندارند.","gap":"\n\n"},{"id":"b111","type":"heading","level":3,"text":"کد گری ده‌دهی و اکسس‌تری","src":"### کد گری ده‌دهی و اکسس‌تری","gap":"\n\n"},{"id":"b112","type":"paragraph","text":"⟨00:53:13⟩ کد گری را می‌توان به صورت رقم‌به‌رقم، مانند BCD، به کار برد؛ یعنی هر رقم ده‌دهی جداگانه با کد گری نمایش داده شود. در این حالت ارقام از 0 تا 9 می‌آیند و هر دو رقم کنار هم فقط در یک بیت تفاوت دارند.","src":"⟨00:53:13⟩ کد گری را می‌توان به صورت رقم‌به‌رقم، مانند BCD، به کار برد؛ یعنی هر رقم ده‌دهی جداگانه با کد گری نمایش داده شود. در این حالت ارقام از 0 تا 9 می‌آیند و هر دو رقم کنار هم فقط در یک بیت تفاوت دارند.","gap":"\n\n"},{"id":"b113","type":"paragraph","text":"⟨00:53:51⟩ مشکل در **رول‌اور** از 9 به 0 پیش می‌آید: در این گذار سه بیت هم‌زمان تغییر می‌کنند و مسئله ایجاد می‌شود.","src":"⟨00:53:51⟩ مشکل در **رول‌اور** از 9 به 0 پیش می‌آید: در این گذار سه بیت هم‌زمان تغییر می‌کنند و مسئله ایجاد می‌شود.","gap":"\n\n"},{"id":"b114","type":"paragraph","text":"⟨00:55:18⟩ راه‌حل، تعریف کد دیگری است که صفر و 9 آن فقط در یک بیت فرق داشته باشند. در این کد صفر برابر 0، 0، 1، 0 و 9 برابر 1، 0، 1، 0 است؛ همهٔ ارقام کنار هم نیز فقط در یک بیت تفاوت دارند. این همان کد گری است که به صفرش 3 تا اضافه شده و به آن **اکسس‌تری** (Excess-3) می‌گوییم.","src":"⟨00:55:18⟩ راه‌حل، تعریف کد دیگری است که صفر و 9 آن فقط در یک بیت فرق داشته باشند. در این کد صفر برابر 0، 0، 1، 0 و 9 برابر 1، 0، 1، 0 است؛ همهٔ ارقام کنار هم نیز فقط در یک بیت تفاوت دارند. این همان کد گری است که به صفرش 3 تا اضافه شده و به آن **اکسس‌تری** (Excess-3) می‌گوییم.","gap":"\n\n"},{"id":"b115","type":"callout","kind":"def","text":"⟨00:55:18⟩ اکسس‌تری: کد گری ده‌دهی که به صفر آن ۳ اضافه شده است؛ صفرش 0، 0، 1، 0 و 9 آن 1، 0، 1، 0 است و ارقام متوالی فقط در یک بیت تفاوت دارند.","src":"> 📘 **تعریف** — ⟨00:55:18⟩ اکسس‌تری: کد گری ده‌دهی که به صفر آن ۳ اضافه شده است؛ صفرش 0، 0، 1، 0 و 9 آن 1، 0، 1، 0 است و ارقام متوالی فقط در یک بیت تفاوت دارند.","gap":"\n\n"},{"id":"b116","type":"paragraph","text":"⟨00:55:51⟩ تا اینجا BCD، کد گری و اکسس‌تری معرفی شد؛ کدینگ‌های بیشتری هم باقی است.","src":"⟨00:55:51⟩ تا اینجا BCD، کد گری و اکسس‌تری معرفی شد؛ کدینگ‌های بیشتری هم باقی است.","gap":"\n\n"},{"id":"b117","type":"heading","level":4,"text":"چرا اکسس‌تری: مسئلهٔ ریس","src":"#### چرا اکسس‌تری: مسئلهٔ ریس","gap":"\n\n"},{"id":"b118","type":"paragraph","text":"⟨00:56:22⟩ مشکل کد گری ده‌دهی این بود که اگر ارقام بین 0 تا 9 را بخواهیم، 9 و 0 با همدیگر 3 بیت فرق دارند. هنگام رول‌اور کردن، مسئلهٔ **ریس** (race condition) پیش می‌آید؛ ریس یعنی مسابقه: وقتی چند خط هم‌زمان عوض می‌شوند، تفاوت زمانی — با در نظر گرفتن خازنس (capacitance) و مقاومت (resistance) خط‌ها — می‌تواند مسائل زمانی (temporary) به وجود بیاورد. در کد اکسس‌تری، 9 و 0 فقط یک بیت فرق دارند و مسئلهٔ ریس وجود ندارد.","src":"⟨00:56:22⟩ مشکل کد گری ده‌دهی این بود که اگر ارقام بین 0 تا 9 را بخواهیم، 9 و 0 با همدیگر 3 بیت فرق دارند. هنگام رول‌اور کردن، مسئلهٔ **ریس** (race condition) پیش می‌آید؛ ریس یعنی مسابقه: وقتی چند خط هم‌زمان عوض می‌شوند، تفاوت زمانی — با در نظر گرفتن خازنس (capacitance) و مقاومت (resistance) خط‌ها — می‌تواند مسائل زمانی (temporary) به وجود بیاورد. در کد اکسس‌تری، 9 و 0 فقط یک بیت فرق دارند و مسئلهٔ ریس وجود ندارد.","gap":"\n\n"},{"id":"b119","type":"paragraph","text":"⟨00:57:35⟩ این راه‌حل تنها نیست: ممکن است به جای 3 بیت شیفت، مثلاً با 5 بیت و شیفتِ دیگری هم مسئله حل شود؛ ولی قرارداد این است که اکسس‌تری این مسئله را حل می‌کند و این تنها سیستمِ حل‌کننده نیست.","src":"⟨00:57:35⟩ این راه‌حل تنها نیست: ممکن است به جای 3 بیت شیفت، مثلاً با 5 بیت و شیفتِ دیگری هم مسئله حل شود؛ ولی قرارداد این است که اکسس‌تری این مسئله را حل می‌کند و این تنها سیستمِ حل‌کننده نیست.","gap":"\n\n"},{"id":"b120","type":"paragraph","text":"⟨00:58:10⟩ نکتهٔ پایانی (از سوی دانشجو مطرح شد): فکر کنم این کدها شبیه گراف هایپرکیوب (hypercube) باشند، در هر تعداد بیتی که انتخاب کنیم احتمالاً می‌توان نودی را برگزید که 0 و 9 آن مجاور باشند و همین اتفاق بیفتد.","src":"⟨00:58:10⟩ نکتهٔ پایانی (از سوی دانشجو مطرح شد): فکر کنم این کدها شبیه گراف هایپرکیوب (hypercube) باشند، در هر تعداد بیتی که انتخاب کنیم احتمالاً می‌توان نودی را برگزید که 0 و 9 آن مجاور باشند و همین اتفاق بیفتد.","gap":"\n\n","tail":"\n"}],"map":true,"webMap":true,"content":{"transcript":true,"audio":true,"pdf":true},"audio":{"url":"/sample/class.m4a","marks":{"b003":[[12000,249000]],"b011":[[249000,1584000]],"b017":[[279000,575000]],"b027":[[575000,1126000]],"b045":[[1126000,1584000]],"b059":[[1584000,1993000],[2383000,2455000]],"b069":[[1667000,1809000],[2383000,2455000]],"b074":[[1809000,1993000]],"b083":[[1993000,2467000]],"b092":[[2467000,3369000],[3377000,3518000]],"b094":[[2475000,2922000]],"b105":[[2922000,3193000]],"b111":[[3193000,3369000],[3377000,3518000]],"b117":[[3379000,3518000]],"b004":[[45030,83310]],"b005":[[80310,164190]],"b007":[[161190,193170]],"b009":[[190170,204870]],"b010":[[201870,249030]],"b012":[[246030,297750]],"b013":[[294750,356000]],"b014":[[291000,356000]],"b018":[[353000,391650]],"b020":[[388650,448000]],"b022":[[445000,479610]],"b024":[[476610,532890]],"b025":[[529890,555630]],"b026":[[552630,599670]],"b028":[[596670,653310]],"b029":[[650310,678330]],"b030":[[675330,721890]],"b032":[[718890,787350]],"b033":[[784350,819000]],"b034":[[816000,849570]],"b036":[[846570,904290]],"b037":[[901290,937590]],"b038":[[934590,962790]],"b040":[[959790,1000000]],"b042":[[997000,1068000]],"b043":[[1065000,1090000]],"b044":[[1087000,1140330]],"b046":[[1137330,1181490]],"b047":[[1178490,1254450]],"b048":[[1251450,1333470]],"b049":[[1330470,1384350]],"b050":[[1317090,1384350]],"b051":[[1381350,1452450]],"b052":[[1449450,1466670]],"b053":[[1463670,1538610]],"b054":[[1535610,1571910]],"b055":[[1568910,1609950]],"b056":[[1223000,1376000]],"b058":[[1223000,1376000]],"b060":[[1606950,1674330]],"b061":[[1598000,1674330]],"b062":[[1671330,1730670]],"b063":[[1727670,1757250]],"b064":[[1754250,1771890]],"b065":[[1768890,1921890]],"b066":[[1664000,1757000]],"b068":[[1664000,1757000]],"b070":[[1664000,1757000]],"b071":[[1754000,1907000]],"b072":[[2400810,2416950]],"b073":[[2413950,2467000]],"b075":[[1836570,1908390]],"b076":[[1826000,1908390]],"b078":[[1905390,1970000]],"b079":[[1905000,1970000]],"b081":[[1876000,1970000]],"b082":[[1967000,2003550]],"b084":[[2000550,2096730]],"b085":[[2093730,2150610]],"b086":[[2147610,2200230]],"b087":[[2197230,2262930]],"b088":[[2259930,2358330]],"b089":[[2355330,2412030]],"b090":[[2311050,2412030]],"b091":[[2409030,2467000]],"b093":[[2464000,2485230]],"b095":[[2482230,2559090]],"b096":[[2556090,2619570]],"b097":[[2616570,2686410]],"b098":[[2683410,2709000]],"b099":[[2679810,2709000]],"b100":[[2706000,2777550]],"b101":[[2774550,2808930]],"b102":[[2805930,2830950]],"b103":[[2827950,2894610]],"b104":[[2891610,2926410]],"b106":[[2923410,3075810]],"b107":[[3072810,3085470]],"b108":[[3082470,3152250]],"b109":[[3149250,3178950]],"b110":[[3175950,3193000]],"b112":[[3190000,3231000]],"b113":[[3228000,3325110]],"b114":[[3322110,3334890]],"b115":[[3331890,3353910]],"b116":[[3350910,3399030]],"b118":[[3396030,3462150]],"b119":[[3459150,3490000]],"b120":[[3487000,3550000]]}},"share":{"enabled":false,"joinable":false},"draft":null}