برای تبدیل اطلاعات مورد نظر خود به باینری بعد از وارد هر کاراکتر ، معادل آن در کادر مربوطه به طور خودکار تبدیل و نمایش داده میشود
با گسترش تکنولوژی و فراگیر شدن استفاده از آن به شیوه های مختلف، امروزه بسیاری از افراد با کامپیوتر ها و ماشین ها در ارتباط هستند. مثلا، گوشی تلفن همراه کوچکترین وسیله الکترونیکی است که افراد برای ارتباط برقرار کردن از راه دور از آن استفاده می کنند. در راستای همین مصرف گسترده، اکثریت به این موضوع واقف هستند که برای تبدیل زبان انسان به فهم دستگاهشان، به یک فرایندی برای تالیف کردن آن بر روی هر ماشین و وسیله الکترونیکی نیاز دارند؛ که این کانسپت مدنظر همان کامپایل کردن زبان انسانی به زبان ماشین و یا کد باینری است.
همانطور که میدانید تمامی وسایل الکترونیکی و دیجیتالی از مفهوم دودویی که به کد باینری معروف هستند، بهره می برند. کد های باینری دستورالعمل های مورد نیاز پردازنده و متن و داده های ورودی سیستم را مشخص میکنند. این کد ها تنها به وسیله دو رقم 0 و 1 نوشته می شوند؛ که جذابیت موضوع در آن است که این دو رقم در علم رایانه به معنای سیگنال های روشن و خاموش هستند. در حال عادی، ما دراستفاده روزمره خود از 32 حرف برای ساخت کلمات و به دنبال آن جملات استفاده می کنیم و از سیستم دهدهی 0تا 9 برای بیان اعداد؛ در حالی که، یک سیستم الکترونیک دیجیتال فقط دو مقدار بولی مجاز برای 0 و 1 منطقی را می شناسد. البته در سطوح بالاتر، تعیین وضعیت HIGH و LOW نیز می تواند برای شناسایی در مدارات دیجیتال حائز اهمیت باشند. برای فهم بیشتر و درک کامل این سیگنال ها لازم است ابتدا با مقایسه ای از این مفهوم با اعدادی که همیشه با آنها سروکار داریم، داشته باشیم.
محاسبه اعداد دهدهی به باینری و بالعکس
درست به مانند اعداد دهدهی که ارزش ارقام از راست به چپ سنجیده می شود و همیشه چپ ترین رقم بالاترین ارزش را دارد، اعداد باینری نیز از راست به چپ ارزش گذاری می شوند و راست ترین اعداد بالاترین ارزش را دارند. در باینری ۲۰ پایین ترین ارزش در سمت راست دارد و بعد از آن رقم سمت چپ ارزشی برابر ۲۱ دارد و به همین ترتیب بر توان عدد 2 افزوده می شد.
برای مثال 1010 در باینری نشان دهنده + + + است که برابر با 8+2=10 می شود.
دلیل استفاده از کد های باینری در کامپیوتر ها چیست؟
در پاسخ به این سوال باید گفت که در سخت افزار دستگاه های کامپیوتری ترانزیستور های به کار رفته با گیت هایی که دارند فقط می توانند امکان عبور یا منع عبور جریان را دارند. بنابراین با ارسال سیگنال های الکتریکی و یا عدم ارسال آن ها می توان دستوراتی را به دستگاه الکتریکی خودمان بفهمانیم.
حال اگر فرض کنیم که بخواهیم مبنایی بیشتر از دو را برای ارسال دستورات خودمان اضافه کنیم باید مفهوم تازه ای را برای رایانه خودمان تعریف کنیم؛ که این کار نیاز به تدوین مبناهای پیچیده تر و زمان بر تر برای طراحی دارد. بنابراین فعلا از همین سنت و طراحی به طور رایج بر مبنای دو استفاده می شود.
تبدیل متن به باینری (Binary) و برعکس
اکنون با مفهوم مبنای دودویی یا باینری آشنا شدیم. حالا سوالی که پیش میاید این است که ما در بسیاری از مواقع نیاز به ارسال دستوراتی جدای از اعداد، داریم. بنابراین، در این بخش بهتر است با مفهوم کد های اسکی آشنا شویم.
منظور از کد اسکی(ASCII) چیست؟
برای فهم این کدگذاری حروف الفبای فارسی را مانند اعداد 1تا 32 در نظر بگیریم. در این حالت کلمه ای مثل سلام با تبدیل به سیستم دهدهی تبدیل به (28 1 27 15) می شود. در این حالت یک پیام کد گذاری شده را ایجاد کرده ایم. اسکی در حقیقت مجموعه ای از کاراکترهای استاندارد است که قابل فهم برای همه رایانه های طراحی شده در سطح جهان است. دلیل استفاده از این کدگذاری آن است که با توجه به آن که کاراکتر های انگلیسی تنها به 128 عدد برای انتقال داده نیاز دارند استفاده از 7 بیت می تواند کافی و به صرفه باشد.
32 کاراکتر ابتدایی اسکی برای دستورات و داده های کنترلی است. دستوراتی از قبیل اضافه کردن و یا حذف کردن یک کاراکتر را شامل می شود. این کاراکتر ها جدولی را به خود اختصاص می دهند که در ادامه با بخشی از آن آشنا می شویم.
ده دهی |
دودویی |
کاراکتر |
توضیحات |
0 |
0000 0000 |
NUL |
خالی |
1 |
0000 0001 |
SOH |
شروع سرتیتر |
2 |
0000 0010 |
STX |
شروع متن |
3 |
0000 0011 |
ETX |
پایان متن |
4 |
0000 0100 |
EOT |
پایان ارسال |
5 |
0000 0101 |
ENQ |
جستجو |
6 |
0000 0110 |
ACK |
تایید شد |
7 |
0000 0111 |
BEL |
زنگ |
8 |
0000 1000 |
BS |
پسبرد |
9 |
0000 1001 |
TAB |
فاصله افقی |
10 |
0000 1010 |
LF |
خط جدید |
11 |
0000 1011 |
VT |
فاصله عمودی |
12 |
0000 1100 |
FF |
صفحه جدید |
13 |
0000 1101 |
CR |
بازگشت محموله |
14 |
0000 1110 |
SO |
بیرون آوردن |
15 |
0000 1111 |
SI |
داخل کردن |
16 |
0001 0000 |
DLE |
خروج از داده ها |
17 |
0001 0001 |
DC1 |
کنترل 1 دستگاه |
18 |
0001 0010 |
DC2 |
کنترل 2 دستگاه |
19 |
0001 0011 |
DC3 |
کنترل 3 دستگاه |
20 |
0001 0100 |
DC4 |
کنترل 4 دستگاه |
21 |
0001 0101 |
NAK |
تایید نشده |
22 |
0001 0110 |
SYN |
synchronous idle |
23 |
0001 0111 |
ETB |
پایان بلوک انتقال |
24 |
0001 1000 |
CAN |
لغو |
25 |
0001 1001 |
EM |
پایان رسانه |
26 |
0001 1010 |
SUB |
جایگزینی |
27 |
0001 1011 |
ESC |
خروج |
28 |
0001 1100 |
FS |
جداکننده فایل |
29 |
0001 1101 |
GS |
جداکننده گروهی |
30 |
0001 1110 |
RS |
جداکننده ضبط |
31 |
0001 1111 |
US |
جداکننده واحد |
127 |
0111 1111 |
DEL |
پاک کردن |
کاراکتر قابل چاپ هم بر همین منوال وجود دارد که یونیکد های فارسی را هم شامل می شود. در ادامه بخشی از آن را نیز آشنا می شویم.
متن اسکی + یونیکد الفبای فارسی |
معادل باینری |
o |
۱۱۰۱۱۱۱ |
p |
۱۱۱۰۰۰۰ |
q |
۱۱۱۰۰۰۱ |
r |
۱۱۱۰۰۱۰ |
s |
۱۱۱۰۰۱۱ |
t |
۱۱۱۰۱۰۰ |
u |
۱۱۱۰۱۰۱ |
v |
۱۱۱۰۱۱۰ |
w |
۱۱۱۰۱۱۱ |
x |
۱۱۱۱۰۰۰ |
y |
۱۱۱۱۰۰۱ |
z |
۱۱۱۱۰۱۰ |
{ |
۱۱۱۱۰۱۱ |
| |
۱۱۱۱۱۰۰ |
} |
۱۱۱۱۱۰۱ |
~ |
۱۱۱۱۱۱۰ |
ء (همزه) |
۱۱۰۱۱۰۰۰۱۰۱۰۰۰۰۱ |
آ |
۱۱۰۱۱۰۰۰۱۰۱۰۰۰۱۰ |
ا |
۱۱۰۱۱۰۰۰۱۰۱۰۰۱۱۱ |
ب |
۱۱۰۱۱۰۰۰۱۰۱۰۱۰۰۰ |
پ |
۱۱۰۱۱۰۰۱۱۰۱۱۱۱۱۰ |
ت |
۱۱۰۱۱۰۰۰۱۰۱۰۱۰۱۰ |
ث |
۱۱۰۱۱۰۰۰۱۰۱۰۱۰۱۱ |
ج |
۱۱۰۱۱۰۰۰۱۰۱۰۱۱۰۰ |
چ |
۱۱۰۱۱۰۱۰۱۰۰۰۰۱۱۰ |
ح |
۱۱۰۱۱۰۰۰۱۰۱۰۱۱۰۱ |
خ |
۱۱۰۱۱۰۰۰۱۰۱۰۱۱۱۰ |
د |
۱۱۰۱۱۰۰۰۱۰۱۰۱۱۱۱ |
ذ |
۱۱۰۱۱۰۰۰۱۰۱۱۰۰۰۰ |
ر |
۱۱۰۱۱۰۰۰۱۰۱۱۰۰۰۱ |
ز |
۱۱۰۱۱۰۰۰۱۰۱۱۰۰۱۰ |
ژ |
۱۱۰۱۱۰۱۰۱۰۰۱۱۰۰۰ |
پیشنهادات و نظرات ارزشمند خود را نسبت به این ابزار از طریق ثبت دیدگاه برای ما ارسال کنید.