اعداد باینری و کار رایانه ها

ساخت وبلاگ

Udayan Shakya

در حالی که داشتن دانش گسترده ای از ریاضیات برای یادگیری برنامه نویسی رایانه ضروری نیست ، مطمئناً به داشتن یک درک اساسی برخی از ریاضیات بنیادی کمک می کند که محاسبات را ممکن می کند. و چه چیزی می تواند برای محاسبات مدرن از ریاضیات باینری اساسی تر باشد؟

اصطلاح "باینری" به معنای چیزی است که فقط دو شیء یا حالت ممکن دارد. در سیستم شماره باینری ، این دو شی اعداد 0 و 1 هستند. این دو عدد می توانند انواع مختلفی را نشان دهند.

به عنوان مثال ، در منطق رایانه ، 0 نشان دهنده "نادرست" است در حالی که 1 نشان دهنده "واقعی" است. یا می توان از آنها برای نشان دادن اعداد معمولی به عنوان ترکیب 1 و 0 استفاده کرد. نمونه ای از این امر می تواند نمایندگی اعداد 0 ، 1 ، 2 ، 3 و 4 در سه رقم باینری به ترتیب 000 ، 001 ، 010 ، 011 و 100 باشد.

اما این همه در سطح اساسی محاسبات چه معنی دارد؟چرا سیستم شماره باینری به عنوان پایه و اساس همه محاسبات ما استفاده می شود؟

اگر بتوانیم کار اصلی رایانه ها را در سطح دستگاه درک کنیم ، شاید درک همه اینها ساده تر باشد.

0 و 1: تفسیر عملکرد مدار رایانه

رایانه ها بر روی سیگنال های الکتریکی تولید شده توسط این مدارها کار می کنند. به منظور طراحی رایانه ای که کارآمد باشد ، ما به سیستمی احتیاج داریم که بتواند سیگنال های الکتریکی را به روشی ساده و مؤثر تفسیر کند.

یک روش خوب برای انجام این کار ، تفسیر سیگنال های الکتریکی به عنوان مقادیر باینری است: 0 برای مقدار ولتاژ پایین و 1 برای مقدار ولتاژ بالا. یک روش آسان تر برای فکر کردن در مورد این ، تصور یک لامپ است. اگر لامپ خاموش باشد ، آن حالت به عنوان مقدار 0 تعبیر می شود. اگر روشن باشد ، به عنوان داشتن مقدار 1 تعبیر می شود.

Interpreting Bulb States in Binary

تفسیر حالتهای لامپ به صورت باینری

این تعمیم گسترده دامنه تفسیر هر سیگنال الکتریکی را به دو مقدار مجزا کاهش می دهد ، به جای دامنه نامتناهی از مقادیر ولتاژ مداوم.

با استفاده از این روش کار و تفسیر مدارهای الکترونیکی در محل ، می توانیم به طراحی سیستم های رمزگذاری شده بر اساس بیت های باینری برای کمک به کارهای محاسباتی خود اقدام کنیم. این سیستم ها می توانند منطق باینری باشند (فقط به مقادیر واقعی یا نادرست محدود می شوند) ، بازنمایی شماره پای ه-2 از مقادیر عددی یا استفاده از سیستم های دیگر که به یک سری از اعداد باینری متکی هستند تا متن ، تصاویر یا صداها را نشان دهند.

در اصل ، رایانه های ما از یک سری سیگنال های الکتریکی با ولتاژ بالا و ولتاژ بالا (مقادیر باینری) استفاده می کنند تا همه چیز را از متون و اعداد گرفته تا تصاویر و صداها نشان دهند. مدارهای الکترونیکی خاصی مانند فلیپ فلاپ و مدارهای دیگر وجود دارد که می توانند این الگوهای خاص از سیگنال های الکتریکی را برای استفاده طولانی "ذخیره" یا حفظ کنند.

به عنوان مثال ، یک فلیپ فلاپ ممکن است تعدادی ورودی داشته باشد که در حال حاضر دارای خروجی ولتاژ بالایی است (که ما آن را 1 تفسیر می کنیم). فرض کنید دو فلیپ فلاپ بعدی دارای خروجی ولتاژ کم 0 هستند. ما می توانیم این سه خروجی را برای به دست آوردن مقدار 100 ترکیب کنیم که به صورت باینری همان شماره 4 است.

درک اعداد باینری از این رو می تواند به ما کمک کند تا برخی از اصول عملیات رایانه ای را در یک سطح به اندازه کافی انتزاعی درک کنیم ، حتی اگر عقل ضعیف انسانی ما هرگز به ما اجازه نمی دهد پیچیدگی کامل عملیات رایانه ای را درک کنیم.

و این نیز به همین خوبی است ، برای کار با برداشت های ساده و انتزاعی از عملیات رایانه ای بیش از حد کافی برای دانشجویان آمریکایی علوم کامپیوتر است. در بخش هایی که در زیر آمده است ، ما به برخی از روش های مختلف رایانه ها از نمادهای باینری برای انجام برخی از اساسی ترین عملیات آن استفاده خواهیم کرد.

منطق بولی: استفاده از اعداد باینری برای درک منطق رایانه

برنامه های رایانه ای برای اجرای دستورالعمل های خود از یک سیستم منطقی بسیار خاص استفاده می کنند. این به عنوان منطق بولی شناخته می شود ، که توسط ریاضیدان انگلیسی جورج بول در طول قرن نوزدهم تدوین شده است.

بول سیستمی از عملیات حسابی و منطقی را ایجاد کرد که از سیستم باینری اعداد استفاده می کند. منطق بولی فقط با دو مقدار ممکن سروکار دارد: درست یا نادرست. درست توسط 1 نشان داده شده است و FALSE توسط 0 نشان داده شده است. تمام عملیات منطقی فقط به یکی از این دو مقدار باینری منجر می شود.

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

Decision-making in Computers

تصمیم گیری در رایانه ها

برای درک اینکه این سیستم چقدر برای رایانه ها بسیار مهم است ، نیازی نیست که بیشتر از وجود اپراتورهای منطقی در اکثر زبانهای برنامه نویسی به نظر برسد: و ، و نه اپراتورها.

این اپراتورها به طور مستقیم از و ، و نه عملیات از منطق بولی گرفته می شوند. و هرکسی که دانش صعودی از برنامه نویسی داشته باشد می داند که این عملیات برای برنامه نویسی اساسی است.

اما تأثیر کار بول به همین جا ختم نمی شود. در حقیقت ، بسیاری از زبانهای برنامه نویسی دارای نوع داده ای به نام Boolean هستند که فقط می توانند "واقعی" یا "کاذب" یعنی 1 یا 0 را ذخیره کنند.

این متغیرهای بولی و اپراتورهای منطقی مؤلفه های اساسی هستند که در اجرای اظهارات مشروط و بیانیه های کنترل در زبان های برنامه نویسی مورد استفاده قرار می گیرند. در نتیجه ، اهمیت آنها را نمی توان بیش از حد بیش از حد کرد ، زیرا این برنامه نویسی 101 است.

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

به همین ترتیب ، ما به جزئیات برنامه نویسی فنی نمی پردازیم. شاید من بیشتر از این مباحث را در پست های بعدی وبلاگ کشف کنم. در حال حاضر ، اجازه دهید فقط موضوع ساده تر نمایش های عددی را در رایانه ها کشف کنیم.

نشان دادن مقادیر عددی در پایه 2

مقادیر عددی در سیستم های رایانه ای ما به نوعی از سیستم شماره Base-2 نشان داده شده است. اعداد عادی که در زندگی روزمره از آنها استفاده می کنیم ، سیستم شماره 10 است. به عنوان مثال ، شماره 135 ارزش صد و سی و پنج را به ما می دهد.

Decimal Place Values

مقادیر مکان اعشاری

همانطور که از تصویر بالا می بینیم ، هر رقمی که از سمت راست شروع می شود با افزایش قدرت 10 ضرب می شود ، با شروع (10 ^ 0 = 1) ، سپس (10 ^ 1 = 10) و در آخر (10 ^ 2 = 100). هرچه رقم ها بیشتر باشد ، جانشینی قدرت 10 بیشتر خواهد بود. به همین دلیل این سیستم شماره شماره 10 نامیده می شود.

سیستم شماره Base-2 به همان روش کار می کند ، به جز اینکه ما هر بیت (یک "باینری") را با قدرت های پی در پی 2 ضرب می کنیم. شماره آن را نشان می دهد.

Binary Place Value

مقدار مکان دودویی

همانطور که می بینیم ، شماره باینری 1011 معادل شماره یازده (11) در پایه 10 است.

البته نحوه گروه بندی اعداد باینری نیز اهمیت دارد. ما می دانیم که 1011 نشان دهنده شماره 11 در پایه 10 است. اما اگر ما همان سری بیت ها را به عنوان 10 11 گروه بندی کنیم ، چه می شود؟آیا آنها دو عدد مختلف 10 و 11 هستند؟یا آیا آنها یک شماره 1011 هستند؟

این اهمیت نحوه گروه بندی شماره های خود را به ما نشان می دهد. و در رایانه ها ، اعداد به روش های مختلفی گروه بندی می شوند. به عنوان مثال ، نوع داده Integer INT در C ++ یک عدد واحد را در یک سری از 32 شماره باینری ذخیره می کند. بنابراین Base-10 Number 0 توسط یک سری 32 صفر نشان داده شده است ، در حالی که شماره 1 توسط 1 قبلی توسط 31 صفر در سمت چپ آن نشان داده شده است.

نمایش متنی و شخصیت

ما دیده ایم که سیستم شماره Base-2 اساس بازنمایی عددی را در دستگاه های الکترونیکی ما تشکیل می دهد. و در حالی که این در مورد سیستم های نمایش متنی صادق است ، کار آنها کاملاً متفاوت است.

متداول ترین سیستم ها برای نمایش شخصیت ها ASCII (کد استاندارد آمریکایی برای تعویض اطلاعات) و یونیکد (که یک پسوند ASCII است) است. این سیستم ها مقادیر عددی منحصر به فردی را به شخصیت ها اختصاص داده و آنها را در قالب باینری ذخیره می کنند.

به عنوان مثال ، سیستم ASCII در ابتدا از 7 بیت برای نشان دادن یک شخصیت استفاده می کرد. در حال حاضر ، این به 8 بیت گسترش یافته است. به عنوان نمونه ، شخصیت A با مقدار عددی 65 در ASCII نشان داده شده است. باینری برای 65 1000001 است. توجه کنید که نمایندگی باینری از 7 بیت تشکیل شده است. در ASCII گسترده ، این به صورت 01000001 ذخیره می شود تا تعداد کل بیت ها 8 باشد.

به طور مشابه ، کد ASCII برای شخصیت A 97 است و توسط 01100001 در ASCII گسترده نشان داده شده است. همچنین شخصیت های بسیار خاصی وجود دارند که توسط 0 ، 1 ، 2 و غیره نشان داده شده اند. و آنها به عنوان 00000000 ، 00000001 ، 00000010 و غیره ارائه می شوند.

این سیستم برای نشان دادن شخصیت ها و نمادهای اروپایی انگلیسی و خاص به خوبی عمل می کند ، اما برای نشان دادن نمادهای زبانها در سراسر جهان بسیار ناکافی است. به منظور قرار دادن نمادهای بیشتر ، یونیکد توسعه یافت.

یونیکد در ابتدا از 21 بیت در هر نماد بر خلاف 7 بیتی که در ابتدا توسط ASCII استفاده می شد ، استفاده می کرد. این تا حد زیادی دامنه مقادیری را که می تواند برای نشان دادن شخصیت ها استفاده شود ، گسترش می دهد. کدهای اصلی ASCII در سیستم یونیکد قرار دارند.

در حال حاضر ، یک سیستم رمزگذاری مبتنی بر یونیکد ، به نام UTF-8 ، متداول ترین سیستم رمزگذاری در برنامه های وب است. UTF-8 می تواند از 32 بیت در هر نماد استفاده کند ، به این معنی که می تواند انواع شخصیت های حتی بزرگتر را نشان دهد.

پیکسل ها و تصاویر

با کمال تعجب ، تصاویر نیز اغلب توسط اعداد نشان داده می شوند. در رایانه ها ، تصاویر معمولاً با کمک مربع های کوچک رنگی به نام پیکسل ساخته می شوند. به یک موزائیک در زندگی واقعی فکر کنید: یک تصویر یا الگوی با ترکیب چند قطعه کوچک و رنگی کوچک ساخته شده است. یا یک پازل اره منبت کاری اره مویی ، جایی که ما قطعات کوچکتر را با هم ترکیب می کنیم تا تصویری بزرگتر و کامل ایجاد کنیم.

پیکسل ها به روشی مشابه کار می کنند. هزاران مربع کوچک رنگی تصاویری را که در صفحه های ما نمایش داده می شوند ، تشکیل می دهند. روش های بسیاری وجود دارد که رنگ ها در پیکسل ها کدگذاری شده اند ، اما متداول ترین کد کد RGB (قرمز ، سبز ، آبی) است.

کدهای RGB با ترکیب رنگهای قرمز ، سبز و آبی کار می کنند تا تمام سایه های رنگی را که در دستگاه های مدرن خود می بینیم تولید کند. هر یک از سه مؤلفه رنگی توسط یک عدد رمزگذاری شده است که مقادیر آن از 0 تا 255 است. بنابراین ، سه مجموعه از اعداد وجود دارد که یک پیکسل را توصیف می کنند.

به عنوان نمونه ، اجازه دهید رنگ نشان داده شده توسط کد RGB (142 ، 150 ، 123) را در نظر بگیریم. این کد رنگی دارای 3 مؤلفه است: قرمز = 142 ، سبز = 150 و آبی = 123.

در داخل رایانه های ما ، هر یک از این مؤلفه های رنگی با استفاده از 8 بیت معادل باینری خود نشان داده می شوند و سپس با هم ترکیب می شوند. به عنوان مثال ، باینری برای 142 (مؤلفه قرمز) 10001110 ، باینری برای 150 است 10010110 و باینری برای 123 1111011 است.

قرمز = 142 = 10001110

سبز = 150 = 10010110

آبی = 123 = 01111011

کامپیوتر این شماره ها را از چپ به راست ترکیب می کند تا کد RGB را در حافظه خود ذخیره کند.

کد RGB کامل = 100011101001011001111011

Working of RGB Code

کار با کد RGB

بنابراین ، می توانیم ببینیم که حتی تصاویر به صورت باینری نشان داده می شوند. در حقیقت ، دانش کدهای باینری پیکسل های تصویر ، درگاه را برای کاربردهای کوچک سرگرم کننده از دستکاری تصویر ، مانند پنهان کردن یک تصویر در داخل دیگری باز می کند. من قبلاً در مورد یک روش ساده از تصویر پنهان شده در وبلاگ قبلی خود Steganography نوشتم: پنهان کردن اطلاعات در داخل تصاویر. می توانید آن را برای یک کاربرد عملی واقعی از شماره های باینری در علوم کامپیوتر بررسی کنید.

افکار نهایی و غذای آماده

اعداد باینری یکی از پایه های اصلی محاسبات مدرن را تشکیل می دهند. و در حالی که ما به طور خلاصه به برخی از راه هایی که رایانه های ما از شماره های باینری استفاده می کنند ، نگاه کرده ایم ، ما نیز چیزهای زیادی را کنار گذاشته ایم ، زیرا یک لیست جامع از برنامه ها و توضیحات فراتر از محدوده این وبلاگ است.

گفته می شود ، ما در اینجا موضوعات جالب توجه را در اینجا پوشش داده ایم ، هرچند که ممکن است باشد. ما آن را دیده ایم

  • فعالیتهای بدنی مدار رایانه با استفاده از نماد باینری تفسیر می شود ، یعنی در یک مدار واحد ، مقادیر ولتاژ کم به عنوان 0 و مقادیر ولتاژ بالا به عنوان 1 تفسیر می شوند.
  • رایانه ها با تفسیر 1 به عنوان درست و 0 به عنوان نادرست در حین انجام عملیات منطقی از منطق بولی استفاده می کنند.
  • اعداد در قالب BASE-2 در گروه های مختلف بیت با توجه به برنامه نشان داده می شوند (برخی از اعداد توسط 16 بیت ، برخی دیگر توسط 32 بیت و برخی دیگر توسط 64 بیت ارائه می شوند).
  • کاراکترها و متن مقادیر عددی منحصر به فردی اختصاص داده می شوند ، که سپس در گروه های 7 یا 8 بیت (ASCII) یا 32 بیت (UTF-8) به فرمت Base-2 تبدیل می شوند.
  • تصاویر توسط گروه هایی از مربع های کوچک رنگی به نام پیکسل نشان داده شده اند که هر یک از آنها در اعدادی کدگذاری شده اند که در نهایت به باینری تبدیل می شوند

و این این وبلاگ را به پایان می رساند ، و امیدوارم که چرا شماره های باینری برای محاسبات بسیار مهم هستند.

مشترک شدن در وبلاگ Programiz!

اولین کسی باشید که با ثبت نام در اشتراک ایمیل ما ، آخرین آموزش از Programiz را دریافت می کنید. همچنین جایزه بیشتری مانند Inside به آخرین ویژگی ها و موارد دیگر. تعداد < pan> اعداد در قالب BASE-2 در گروه های مختلف بیت با توجه به برنامه نشان داده می شوند (برخی از اعداد توسط 16 بیت ، برخی دیگر توسط 32 بیت و برخی دیگر توسط 64 بیت ارائه می شوند).

سیگنال های تجاری...
ما را در سایت سیگنال های تجاری دنبال می کنید

برچسب : نویسنده : عبدالله بوتیمار بازدید : <-PostHit-> تاريخ : سه شنبه 23 خرداد 1402 ساعت: 19:02