خانه > فناوری اطلاعات, آموزش, آموزش کامپیوتر > آشنایی با منطق دودویی

آشنایی با منطق دودویی


آشنایی با منطق دودویی
شاید الان خیلی با کلمه دودویی آشنا نباشید…. ولی عجله هم نکنید. در انتهای این مقاله با این کلمه و مفهوم آن به خوبی آشنا خواهیم شد!
1- سیستم های دیجیتال
حتما کلمه دیجیتال را زیاد شنیده اید . سیستم های دیحیتال در زندگی روزانه بشر نقش مهمی دارند وبه همین دلیل است که عصر امروز را عصر دیجیتال میگویند.سیستمهای دیجیتال در مخابرات و تجارت و کنترل ترافیک و هدایت سفینه های فضایی و…..کاربرد فراوان دارند. اطلاعات در سیستم های دیجیتال بوسیله «سیگنال ها «منتقل می‌شود. برای کلمه سیگنال دنبال تعریف نمی‌گردیم، بهتر است فقط مثال بزنیم: شما حتما با دو نمونه از سیگنالهای الکتریکی آشنا هستید: «ولتاژ» و «جریان».در مدار منطقی معمولا مراد از کلمه «سیگنال»، همان «سیگنال ولتاژ» است. یعنی ما غالبا به ولتاژ روی پایه های آی سی های مختلف سر و کار داریم. البته به معنی این نیست که با جریان کاری نداریم … اما طراحی آی سی های جوری بوده است که ما را از درگیر شدن زیاد با مسئله جریان دور نگه دارد.
سیکنال ها در بسیاری از سیستم های دیجیتال الکترونیک امروزی تنها دو مقدار را دارا هستند و بنابر این می گوییم «دودو‌یی» اند. یک رقم دودویی فقط دو مقدار دارد: 0 و 1
2- اعداد دودویی
حال که با کلمه و مفهوم دودویی تا حدودی آشنا شدیم . تازه می خواهیم کمی در باره مفهوم و معنی اعداد ده دهی توضیج دهیم! ( به این میگویند مهندسی معکوس!!)
اعدادی که ما هر روز با آن سر و کار داریم اعداد دهدهی می باشند مثلا عدد دهدهی «7392» عددی معادل با 7 هزار تایی و 3 صد تایی و 9 ده تایی و دو واحد را نشان می دهد. ( احساس مهد کودک بهتان دست داد نه؟!)
همان طور که می بینیم چون اعداد دهدهی هستند ، تمام ارقام به کار رفته در این عدد دهدهی بین 0 تا 9 میباشند.و همچنین هزارها و صدها و ده ها همه توانی از ده می‌باشند . به این کلمه «ده» خیلی توجه کنید (دهدهی و توان ده و اعداد بین 0 تا 9 که ده عدد است)
به بیان دقیقتر عدد «7392» را می توان به صورت زیر نوشت : (^ یعنی توان)

7*(10^3)+3*(10^2)+9*(10^1)+2*(10^3)

خوب حالا این را داشته باشید تا به سراغ سیستم خودمان یعنی اعداد دودویی برویم.
متناظر با همان مفاهیم، اینجا اعداد به جای » 0 تا 9 » فقط «صفر و یک» می باشند و واحد ها به جای توانی از ده ، توانهایی از دو هستند . به عبارت دیگر اعداد در این سیستم فقط با دو رقم به صورت صفر و یک نمایش داده می شوند. یک کمی سخت و طولانی میشود اما بعدا خواهید دید که چه فایده هایی دارد!
به مثال زیر توجه کنید:
12 در مبنای ده = 0*(2^0)+0*(2^1)+1*(2^2)+1*(2^3)=(12)10=(1100)2= 1100 در مبنای دو
این دقیقا مثل محاسبات اعداد ده دهی خودمان است :

7*(10^3)+3*(10^2)+9*(10^1)+2*(10^3) = 7392

خوب … نتیجه؟نتیجه اینکه هر وقت عددی را بخواهیم به مبنای دو دو یی بنویسیم کافی است سعی کنیم آها را با یک سری توان عدد دو نشان بدهیم، درست مثل مثال…. البته یک سری راه های ریاضی قشنگی وجود دارد که میتواتن با کمک آها سریع مقدار دو دویی یک عدد را پیدا کرد.
در حقیقت شما میتوانید با تقسیم کردن متوالی عدد به 2 و نوشتن باقی مانده های این تقسیم ها پشت سر هم نمایش دو دویی عدد را پیدا کنید.
خودتان عدد 12 را به 2 تقسیم کنید و با جواب ما مقایسه کنید ( از ماشین حساب ویندوز هم سو‌استفاده نکنید … چون میشود یهویی با کمک آن تغییر مبنا داد!)
تمرین: اعداد : 10، 55، 1024 را هم به مبنای دو ببرید.
خوب حالا کلا این به چه دردی میخورد؟جواب این سوال دیگر خیلی ساده است … وقتی شما بتوانید عدد ها را به آی سی ها بفهمانید خیلی کار های دیگر هم میشود کرد … یعنی شما الان دیگر میتوانید رسما با آی سی ها صحبت کنید و هر چی بخواهید را بگویید! …چی از این بهتر؟
تا اینجا با محاسبه اعداد دو دویی و نحوی نمایش آنها آشنا شدیم اما می دانید که در این زمینه مطالب زیاد و جالبی وجود دارد که در این مختصر نمی گنجد. پس فعلا تا همینجا کافی است…
3- عملیات ریاضی روی اعداد دو دویی
همان طور که اعداد ده دهی(معمولی) را با هم جمع و تفریق می کنیم اعداد دو دویی را هم با همان منطق با هم جمع و از هم تفریق می کنیم .دوستان فقط دقت کنید که تمام قوانین مربوط به اعداد ده دهی را باید برای اعداد دو دویی تغییر دهید .برای مثال در سیستم ده دهی وقتی جمع یکان دو عدد از نه بیشتر شود به دهگان اضافه می گردد. ولی در سیستم اعداد دو دویی این جمع اگر از یک بیشتر شود به رقم سمت چپ که با ارزشتر است انتقال می یابد .
به مثال زیر توجه کنید:

01+01———10

به اتفاقی که افتاد دقت کردید، در اینجا جمع دو تا 1 عدد 10 ( یعنی 2 ) را نتیجه داد که یکان آن (0) در همان مرتبه باقی ماند و رقم مرتبه بالاتر ( یعنی رقم 1) به مرتبه بعدی رفت. درست عین جمع و تفریق ده دهی ….
میدانیم که «01» معادل 1 و «10» معادل 2 است پس عبارت فوق صحیح است.

01 = 1*2^0 + 0*2^1=1 10=0*2^0+1*2^1=2

تفریق و ضرب…. وهم با همین منطق انجام میشود ولی با کمی تفاوت.
4_منطق دودویی
حالا که با اعداد دودویی آشنا شدیم به سراغ منطق دودیی که موضوع اصلی بحث ما تا آخر این دوره می باشد می رویم .تا اینجای درس یک کمی ریاضی بود. ما هم دیگر زیاد مته به خشخاش نگذاشتیم. اما انصافا از اینجا به بعد را حسابی با حواس جمع بخوانید چون به کار می آید:
منطق دودویی فقط و فقط با دو ارزش سر کار دارد که این دو ارزش می تواند صحیح یا غلط، بلی یا خیر ویا صفر و یک باشد .
در این منطق برای هر پدیده فقط دو حالت وجود دارد مثلا لامپ یا خاموش است و یا روشن و حد وسطی ندارد. در حقیقت «عبارات پیوسته» را در این منطق نمی‌توان بیان کرد. در عوض کار های قشنگ قشنگ دیگر میشود کرد.
با مثالی از رنگها این موضوع را روشن می کنیم :فرض کنید که چشم ما اجسام را یا سفید می دید و یا سیاه و چشم ما قدرت تشخیص رنگها را نداشت . در این صورت اجسام محیط بیرون که روشن تر بودند سفید و آنها که تیره تر بودند سیاه به نظر ما می رسیدند .با اینکه رنگ اجسام محیط بیرون دارای طیف پیوسته ای از رنگ است ولی چشم ما همه این اجسام را فقط سیاه یا سفید میدید.(میتوانید تصور کنید!… اوف …)یعنی اجسام خارجی دارای طیف پیوسته و فراوان از رنگ ها بودند ولی چشم ما به صورت دیجیتال فقط سیاه یا سفید را میدید.
سیگنال های دودویی که کار انتقال اطلاعات را بر عهده دارند کمیت های دیجیتالی هستند چون فقط دو مقدار 0و1 را دارا هستند (مثل رنگ که فقط سیاه یا سفید است. و به عبارتی مثل چشم دو رنگ بین که همه رنگ ها را بر حسب مشابهت بیشتر به سفید و سیاه تبدیل می‌کند سیستم دیجیتال هم همه اعداد را بر حسب مشابهت به 0 و 1 تبدیل میکند.
مثلا در مورد سیگنال های الکتریکی میدانیم که 5 ولت به معنای high (بالا) بودن و تغذیه کامل مدار و 0 ولت یعنی low (پایین) بودن و عدم تغذیه مدار است.
ولی با برقراری مشابهت با همان مفاهیم قبلی داریم:انحرافات مجاز برای منطق 1 3.5-6 v highانحرافات مجاز برای منطق 0 0-1.5 v low

همین مفاهیم high و low را در سنسورها با on و off بیان میکنیم.
همان طور که میبینید خیلی از سنسورها نیز از منطق دودویی پیروی میکنند و فقط دارای دو ارزش on و off میباشد. مثل سنسور تماسی که یا قطع است یا وصل ( سنسور های روبورو(لینک به فروشگاه اینترنتی) یادتان می آید؟)

1_2 عملیات های منطقی
سه نوع عملیات منطقی اصلی وجود دارد که بر روی اعداد دودویی به تشریح آنها میپردازیم.این اعمال فقط روی اعداد 0 و 1 اجرا میشوند. بعدا آی سی های این عمل ها را هم میبینیم … منتها عجله کار شیطان است!
1_1_2 AND :این عمل بوسیله یک «.» یا «بدون ذکر هر عملگری» نمایش داده میشود:مثلا :

1.0 = 1 and 0
و یا
a.b = a and b = ab

عمل AND را میتوان به صورت زیر تشریح کرد :

فرض کنید می خواهیم اتصال بین دو نقطه A وB را برقرار کنیم . یعنی میخواهیم این دو نقطه را به هم وصل کنیم. این اتصال فقط زمانی برقرار میشود که هر دو کلید وصل باشد . اگر حتی یکی از دو کلید قطع با شد اتصال B و A بر قرار نخواهد شد .فرض کنند وصل بودن کلید یعنی (1) و قطع بودن کلید یعنی (0)باشد و چون پشت سرهم می باشند AND را خواهیم داشت. در حقیقت مفهمو AND یعنی هر دو با هم! … درست عین این قضیه کلید ها:
0=قطع اتصال A و b 1=برقراری اتصال A و b

0.0=0 هر دو کلید قطع – اتصال بر قرار نیست0.1=0 کلید 1 قطع 2 وصل – اتصال بر قرار نیست1.0=0 کلید 1 وصل 2 قطع – اتصال بر قرار نیست1.1=1 هر دو کلید وصل – اتصال بر قرار است … هورا!

1-1-2 به همین ترتیب به سراغ تعریف or می رویم.

باز هم بحث برقراری اتصال بین A , B است . در اینجا بر خلاف AND، اگر حتی یکی از کلیدهای وصل شود باز هم اتصال برقرار خواهد شد و فقط در صورتی اتصال برقرار نیست که هر دو کلید قطع باشد .
Or با علامت بعلاوه نشان داده می شود و تقریبا شبیه به همین عمل کلید ها می باشد .

0+0=0 هر دو کلید قطع – اتصال بر قرار نیست0+1=0 کلید 1 قطع 2 وصل – اتصال بر قرار است1+0=1 کلید 1 وصل 2 قطع – اتصال بر قرار است1+1=1 هر دو کلید وصل – اتصال بر قرار است

1) * همان طوریکه دیدیم بر قراری ارتباط بین A و B در AND سخت تر از OR می باشد چون در AND اتصال ها پشت سر هم ودر OR به موازات هم قرار گرفته است.
3-1-2-NOT
NOT مفهوم بسیار بسیار ساده ای است. این عمل در اعداد دو‌دویی 0 را به 1 (یا 1 را به 0) تبدیل می کند. البته آی سی NOT یک سری خصوصیت های دیگر هم دارد که سر جایش به آنها اشاره میکنیم.
این سه تا عمل که دیدی اعمال پایه هستند. در مطلب بعدی خواهید دید که چطوری میشود همه توابع منطقی را با همین سه تا پیاده کرد ( چون آی سی های این ها وجود دارد)

  1. hossein
    دسامبر 30, 2008 در 9:34 ق.ظ.

    خیلی ممنون .

    عالی بود .

    کامل متوجه شدم .

  1. No trackbacks yet.

پاسخی بگذارید

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

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: