سلام در باینری. کد باینری

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

سیستم باینری مبتنی بر دو رقم 1 و 0 است که مربوط به حالت های روشن و خاموش است که رایانه شما می تواند آن را درک کند. احتمالاً با سیستم اعشاری آشنا هستید. از ده رقم از 0 تا 9 استفاده می کند و سپس به ترتیب بعدی می رود تا اعداد دو رقمی را تشکیل دهد که هر عدد ده برابر بزرگتر از عدد قبلی است. سیستم باینری مشابه است و هر رقم دو برابر عدد قبلی است.

شمارش در قالب باینری

در بیان دودویی، رقم اول معادل 1 در سیستم اعشاری است. رقم دوم 2، سومی 4، چهارمی 8 و به همین ترتیب - هر بار دو برابر می شود. با افزودن تمام این مقادیر، عدد در فرمت اعشاری به شما ارائه می شود.

1111 (در دودویی) = 8 + 4 + 2 + 1 = 15 (به صورت اعشاری)

حسابداری 0 به ما 16 مقدار ممکن برای چهار بیت باینری می دهد. 8 بیت حرکت کنید و 256 مقدار ممکن را دریافت خواهید کرد. این مقدار فضای بیشتری را برای نمایش می‌گیرد زیرا چهار رقم اعشاری 10000 مقدار ممکن را به ما می‌دهد. البته کد باینری فضای بیشتری را اشغال می کند، اما کامپیوترها فایل های باینری را بسیار بهتر از سیستم اعشاری درک می کنند. و برای برخی چیزها، مانند پردازش منطقی، باینری بهتر از اعشاری است.

باید گفت که سیستم پایه دیگری نیز وجود دارد که در برنامه نویسی مورد استفاده قرار می گیرد: هگزادسیمال. اگرچه رایانه ها در قالب هگزادسیمال کار نمی کنند، برنامه نویسان از آن برای نمایش آدرس های باینری در قالبی قابل خواندن توسط انسان هنگام نوشتن کد استفاده می کنند. این به این دلیل است که دو رقم در یک عدد هگزا دسیمال می توانند یک بایت کامل را نشان دهند، به این معنی که آنها جایگزین هشت رقم در باینری می شوند. سیستم هگزادسیمال از اعداد 0-9 و همچنین حروف A تا F برای ایجاد شش رقم اضافی استفاده می کند.

چرا کامپیوترها از فایل های باینری استفاده می کنند؟

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

برای کسانی که نمی دانند چرا "خاموش" با بار مثبت نشان داده می شود، به این دلیل است که الکترون ها دارای بار منفی هستند و تعداد الکترون های بیشتر به معنای جریان بیشتر با بار منفی است.

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

در اینجا نمودار یک ترانزیستور معمولی است:

در اصل، در صورت وجود جریان در دروازه، اجازه می دهد تا جریان از منبع به تخلیه جریان یابد. این یک کلید باینری را تشکیل می دهد. سازندگان می توانند این ترانزیستورها را بسیار کوچک بسازند - تا 5 نانومتر یا به اندازه دو رشته DNA. پردازنده‌های مدرن اینگونه کار می‌کنند و حتی آن‌ها نیز می‌توانند از مشکلات تمایز بین حالت‌های روشن و خاموش رنج ببرند (اگرچه این به دلیل اندازه مولکولی غیر واقعی آنها است عجیب بودن مکانیک کوانتومی).

چرا فقط سیستم باینری

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

مشکل اینجاست که اگر می‌خواهید از سطوح ولتاژ چندگانه استفاده کنید، به راهی برای انجام محاسبات بر روی آن‌ها نیاز دارید، و سخت‌افزار فعلی که قادر به انجام این کار باشد، جایگزینی برای محاسبات باینری نیست. به عنوان مثال، یک به اصطلاح وجود دارد کامپیوتر سه گانه، در دهه 1950 توسعه یافت، اما توسعه در آنجا متوقف شد. منطق سه تایی کارآمدتر از باینری است، اما هنوز جایگزین موثری برای ترانزیستور باینری یا حداقل هیچ ترانزیستوری در مقیاس کوچک باینری وجود ندارد.

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

بنابراین، ریاضیات باینری برای یک کامپیوتر راحت تر از هر چیز دیگری است. منطق باینری به راحتی به سیستم های باینری تبدیل می شود و True و False مربوط به حالت های روشن و خاموش هستند.

یک جدول حقیقت باینری که بر روی منطق باینری اجرا می شود، چهار خروجی ممکن برای هر عملیات اساسی خواهد داشت. اما از آنجایی که دروازه های سه گانه از سه ورودی استفاده می کنند، جدول حقیقت سه گانه 9 یا بیشتر خواهد داشت. در حالی که سیستم باینری دارای 16 عملگر ممکن است (2^2^2)، سیستم سه تایی 19683 (3^3^3) خواهد داشت. مقیاس‌بندی به یک مسئله تبدیل می‌شود، زیرا در حالی که trinity کارآمدتر است، همچنین به طور تصاعدی پیچیده‌تر است.

چه کسی می داند؟در آینده، ممکن است کامپیوترهای سه تایی را ببینیم زیرا منطق باینری با مشکلات کوچک سازی مواجه است. در حال حاضر، جهان در حالت باینری به کار خود ادامه خواهد داد.

این درس به موضوع «رمزگذاری اطلاعات می پردازد. کدگذاری باینری واحدهای اندازه گیری اطلاعات." در طی آن، کاربران می توانند درک درستی از کدگذاری اطلاعات، نحوه درک کامپیوترها از اطلاعات، واحدهای اندازه گیری و کدگذاری باینری به دست آورند.

موضوع:اطلاعات پیرامون ما

درس: کدگذاری اطلاعات. کدگذاری باینری واحدهای اطلاعات

این درس سوالات زیر را پوشش خواهد داد:

1. کدگذاری به عنوان تغییر شکل ارائه اطلاعات.

2. کامپیوتر چگونه اطلاعات را تشخیص می دهد؟

3. چگونه اطلاعات را اندازه گیری کنیم؟

4. واحدهای اندازه گیری اطلاعات.

در دنیای کدها

چرا مردم اطلاعات را رمزگذاری می کنند؟

1. آن را از دیگران پنهان کنید (آینه نوشته مخفی لئوناردو داوینچی، رمزگذاری نظامی).

2. اطلاعات را به طور خلاصه بنویسید (خلاصه، مخفف، علائم راه).

3. برای پردازش و انتقال آسان تر (کد مورس، ترجمه به سیگنال های الکتریکی - کدهای ماشین).

کد نویسی نمایش اطلاعات با استفاده از برخی کدها است.

کد سیستمی از نمادها برای ارائه اطلاعات است.

روش های رمزگذاری اطلاعات

1. گرافیک (نگاه کنید به شکل 1) (با استفاده از نقشه ها و علائم).

برنج. 1. سیستم پرچم سیگنال (منبع)

2. عددی (با استفاده از اعداد).

به عنوان مثال: 11001111 11100101.

3. نمادین (با استفاده از علائم حروف الفبا).

به عنوان مثال: NKMBM CHGYOU.

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

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


برنج. 2. نمونه رمز (منبع)

نمونه هایی از رمزگذاری اطلاعات

نمونه ای از کدگذاری اطلاعات، کد مورس است (شکل 3 را ببینید).

برنج. 3. کد مورس ()

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

نمونه دیگری از رمزگذاری اطلاعات، الفبای پرچم است (شکل 4 را ببینید).

برنج. 4. الفبای پرچم ()

مثال دیگر الفبای پرچم ها است (شکل 5 را ببینید).

برنج. 5. ABC پرچم ها ()

یک مثال معروف از کدگذاری الفبای موسیقی است (شکل 6 را ببینید).

برنج. 6. الفبای موسیقی ()

مشکل زیر را در نظر بگیرید:

با استفاده از جدول الفبای پرچم (نگاه کنید به شکل 7)، حل مشکل زیر ضروری است:

برنج. 7

همسر ارشد لوم امتحان را به کاپیتان ورونگل می دهد. به او کمک کنید متن زیر را بخواند (شکل 8 را ببینید):

به طور عمده دو سیگنال در اطراف ما وجود دارد، به عنوان مثال:

چراغ راهنمایی: قرمز - سبز؛

سوال: بله - خیر؛

لامپ: روشن - خاموش؛

ممکن است - امکان پذیر نیست.

خوب بد؛

حقیقت دروغ است؛

رفت و برگشت؛

بله خیر؛

همه اینها سیگنال هایی هستند که میزان اطلاعات را در 1 بیت نشان می دهند.

1 بیت - این مقدار اطلاعاتی است که به ما امکان می دهد از بین دو گزینه ممکن یک گزینه را انتخاب کنیم.

کامپیوتر یک ماشین الکتریکی است که بر روی مدارهای الکترونیکی کار می کند. برای اینکه کامپیوتر اطلاعات ورودی را تشخیص دهد و درک کند، باید به زبان کامپیوتر (ماشین) ترجمه شود.

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

اینها سیگنال های الکتریکی هستند: جریان در حال عبور است یا جریان عبور نمی کند.

زبان باینری ماشین - دنباله ای از "0" و "1". هر عدد باینری می تواند 0 یا 1 باشد.

هر رقم از یک کد باینری ماشین مقداری از اطلاعات برابر با 1 بیت را حمل می کند.

عدد باینری که نشان دهنده کوچکترین واحد اطلاعات است نامیده می شود ب آی تی . یک بیت می تواند مقدار 0 یا 1 را بگیرد. وجود سیگنال مغناطیسی یا الکترونیکی در رایانه به معنای 1، عدم وجود 0 است.

یک رشته 8 بیتی نامیده می شود ب آی تی . کامپیوتر این رشته را به عنوان یک کاراکتر جداگانه (عدد، حرف) پردازش می کند.

بیایید به یک مثال نگاه کنیم. کلمه ALICE شامل 5 حرف است که هر کدام در زبان کامپیوتر با یک بایت نمایش داده می شود (شکل 10 را ببینید). بنابراین، آلیس را می توان به عنوان 5 بایت اندازه گیری کرد.

برنج. 10. کد باینری (منبع)

علاوه بر بیت ها و بایت ها، واحدهای اطلاعات دیگری نیز وجود دارد.

کتابشناسی - فهرست کتب

1. Bosova L.L. علوم کامپیوتر و فناوری اطلاعات و ارتباطات: کتاب درسی کلاس پنجم. - M.: BINOM. آزمایشگاه دانش، 1391.

2. Bosova L.L. علوم کامپیوتر: کتاب کار کلاس پنجم. - M.: BINOM. آزمایشگاه دانش، 1389.

3. Bosova L.L., Bosova A.Yu. دروس علوم کامپیوتر در کلاس های 5-6: کتابچه راهنمای روش. - M.: BINOM. آزمایشگاه دانش، 1389.

2. جشنواره "درس باز" ().

مشق شب

1. §1.6، 1.7 (Bosova L.L. Informatics and ICT: Textbook for class 5).

2. صفحه 28، وظایف 1، 4; ص 30، وظایف 1، 4، 5، 6 (Bosova L.L. Informatics and ICT: Textbook for class 5).

معنای اصطلاح "دودویی" این است که از دو بخش یا جزء تشکیل شده است. بنابراین، کدهای باینری کدهایی هستند که تنها از دو حالت نمادین تشکیل شده اند، مانند سیاه یا سفید، روشن یا تاریک، هادی یا عایق. کد باینری در فناوری دیجیتال روشی برای نمایش داده ها (اعداد، کلمات و غیره) به صورت ترکیبی از دو کاراکتر است که می تواند به صورت 0 و 1 تعیین شود. کاراکترها یا واحدهای BC را بیت می نامند. یکی از توجیهات استفاده از BC، سادگی و قابل اعتماد بودن ذخیره سازی اطلاعات در هر محیطی به شکل ترکیبی از دو حالت فیزیکی آن است، به عنوان مثال، به شکل تغییر یا ثبات شار نور در زمانی که خواندن از روی دیسک کد نوری
امکان های مختلفی برای رمزگذاری اطلاعات وجود دارد.

کد باینری

در فناوری دیجیتال، روشی برای نمایش داده ها (اعداد، کلمات و غیره) به صورت ترکیبی از دو کاراکتر است که می تواند به صورت 0 و 1 تعیین شود. علائم یا واحدهای DC را بیت می نامند.

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

بزرگترین عددی که می توان به صورت دودویی بیان کرد به تعداد ارقام استفاده شده بستگی دارد، یعنی. بر روی تعداد بیت های ترکیبی که عدد را بیان می کند. به عنوان مثال، برای بیان مقادیر عددی از 0 تا 7، کافی است یک کد 3 رقمی یا 3 بیتی داشته باشید:

مقدار عددی کد باینری
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

از اینجا می‌توانیم ببینیم که برای یک عدد بزرگتر از 7 با یک کد 3 رقمی دیگر ترکیب کدهای 0 و 1 وجود ندارد.

با حرکت از اعداد به کمیت های فیزیکی، اجازه دهید بیانیه فوق را به شکل کلی تر فرموله کنیم: بیشترین تعداد مقادیر m از هر کمیت (دما، ولتاژ، جریان و غیره) که می تواند در کد باینری بیان شود، بستگی دارد. بر روی تعداد بیت های استفاده شده n به عنوان m= 2n. اگر n=3، همانطور که در مثال در نظر گرفته شده است، 8 مقدار از جمله 0 پیشرو دریافت می کنیم.
کد باینری یک کد چند مرحله ای است. این بدان معنی است که هنگام حرکت از یک موقعیت (مقدار) به موقعیت دیگر، چندین بیت می توانند به طور همزمان تغییر کنند. به عنوان مثال، عدد 3 در کد باینری = 011. عدد 4 در کد باینری = 100. بر این اساس، هنگام حرکت از 3 به 4، هر 3 بیت به طور همزمان حالت خود را به عکس تغییر می دهند. خواندن چنین کدی از دیسک کد منجر به این واقعیت می شود که به دلیل انحرافات (تلرانس ها) اجتناب ناپذیر در طول تولید یک دیسک کد، تغییر در اطلاعات هر یک از آهنگ ها به طور جداگانه هرگز به طور همزمان رخ نخواهد داد. این به نوبه خود منجر به این واقعیت می شود که هنگام انتقال از یک عدد به عدد دیگر، اطلاعات نادرست به طور خلاصه ارائه می شود. بنابراین، در طول انتقال فوق الذکر از عدد 3 به عدد 4، خروجی کوتاه مدت عدد 7 بسیار محتمل است، به عنوان مثال، زمانی که مهم ترین بیت در طول انتقال مقدار خود را کمی زودتر از بقیه تغییر داده است. . برای جلوگیری از این امر، از یک کد به اصطلاح یک مرحله ای استفاده می شود، به عنوان مثال به اصطلاح کد خاکستری.

کد خاکستری

کد خاکستری یک کد به اصطلاح یک مرحله ای است، یعنی. هنگام انتقال از یک عدد به عدد دیگر، تنها یکی از تمام بیت های اطلاعات همیشه تغییر می کند. یک خطا در هنگام خواندن اطلاعات از یک دیسک کد مکانیکی هنگام حرکت از یک عدد به عدد دیگر تنها منجر به این واقعیت می شود که انتقال از یک موقعیت به موقعیت دیگر فقط اندکی در زمان جابجا می شود، اما صدور یک مقدار موقعیت زاویه ای کاملاً نادرست هنگامی که حرکت از یک موقعیت به موقعیت دیگر به طور کامل حذف می شود.
یکی دیگر از مزایای Gray Code توانایی آن در بازتاب اطلاعات است. بنابراین، با معکوس کردن مهم ترین بیت، می توانید به سادگی جهت شمارش را تغییر دهید و در نتیجه جهت واقعی (فیزیکی) چرخش محور را مطابقت دهید. تغییر جهت شمارش به این روش را می توان به راحتی با کنترل ورودی به اصطلاح "مکمل" تغییر داد. بنابراین مقدار خروجی می تواند برای همان جهت فیزیکی چرخش محور افزایش یا کاهش یابد.
از آنجایی که اطلاعات بیان شده در کد خاکستری صرفاً در طبیعت رمزگذاری شده است و اطلاعات عددی واقعی را حمل نمی کند، ابتدا باید قبل از پردازش بیشتر به یک کد باینری استاندارد تبدیل شود. این کار با استفاده از یک مبدل کد (رمزگشا Gray-Binar) انجام می شود که خوشبختانه با استفاده از مداری از عناصر منطقی انحصاری یا (XOR) هم در نرم افزار و هم در سخت افزار به راحتی پیاده سازی می شود.

اعداد اعشاری مربوطه در محدوده 0 تا 15 تا کدهای باینری و خاکستری

کدگذاری باینری کد نویسی خاکستری
کد اعشاری
مقدار باینری شانزده معنی کد اعشاری مقدار باینری شانزده معنی
0 0000 0 ساعت 0 0000 0 ساعت
1 0001 1 ساعت 1 0001 1 ساعت
2 0010 2 ساعت 3 0011 3 ساعت
3 0011 3 ساعت 2 0010 2 ساعت
4 0100 4 ساعت 6 0110 6 ساعت
5 0101 5 ساعت 7 0111 7 ساعت
6 0110 6 ساعت 5 0101 5 ساعت
7 0111 7 ساعت 4 0100 4 ساعت
8 1000 8 ساعت 12 1100 چ
9 1001 9 ساعت 13 1101 Dh
10 1010 آه 15 1111 Fh
11 1011 Bh 14 1110 هه
12 1100 چ 10 1010 آه
13 1101 Dh 11 1011 Bh
14 1110 هه 9 1001 9 ساعت
15 1111 Fh 8 1000 8 ساعت

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

کد خاکستری-زیاد

کد معمولی یک مرحله‌ای Gray برای وضوح‌هایی مناسب است که می‌توان آنها را به صورت عددی به توان ۲ نشان داد. در مواردی که نیاز به پیاده‌سازی مجوزهای دیگر باشد، بخش میانی از کد Grey معمولی بریده شده و استفاده می‌شود. به این ترتیب کد "یک مرحله ای" باقی می ماند. با این حال، محدوده عددی از صفر شروع نمی شود، بلکه با مقدار مشخصی جابجا می شود. هنگام پردازش اطلاعات، نیمی از تفاوت بین وضوح اصلی و کاهش یافته از سیگنال تولید شده کم می شود. رزولوشن هایی مثل 360؟ برای بیان یک زاویه اغلب با این روش اجرا می شوند. بنابراین یک کد خاکستری 9 بیتی برابر با 512 مرحله، که از هر دو طرف با 76 مرحله بریده شده است، برابر با 360 درجه خواهد بود.

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

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

نحوه رمزگذاری با کد باینری

برای تبدیل دستی هر نماد به کد باینری، از جداولی استفاده می شود که در آنها به هر نماد یک کد باینری به شکل صفر و یک اختصاص داده می شود. رایج ترین سیستم رمزگذاری ASCII است که از نماد کد 8 بیتی استفاده می کند.

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

یک تفسیر باینری از الفبای سیریلیک و کاراکترهای اضافی به جدول توسعه یافته اضافه شده است.

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

تبدیل یک عدد باینری به اعشاری

برای تبدیل دستی یک عدد از یک سیستم اعداد باینری به یک سیستم اعداد اعشاری، می توانید از یک الگوریتم نسبتا ساده استفاده کنید:

  1. در زیر عدد باینری که با سمت راست ترین رقم شروع می شود، عدد 2 را با توان افزایشی بنویسید.
  2. توان های 2 در رقم متناظر عدد باینری (1 یا 0) ضرب می شوند.
  3. مقادیر به دست آمده را اضافه کنید.

این همان چیزی است که این الگوریتم روی کاغذ به نظر می رسد:

خدمات آنلاین برای رمزگشایی باینری

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

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

ظرفیت بیت کد باینری، تبدیل اطلاعات از فرم پیوسته به گسسته، جهانی بودن کدگذاری باینری، کدهای یکنواخت و غیر یکنواخت، علوم کامپیوتر پایه هفتم Bosova، علوم کامپیوتر پایه هفتم

1.5.1. تبدیل اطلاعات از فرم پیوسته به گسسته
برای حل مشکلات خود، شخص اغلب مجبور است اطلاعات موجود را از یک شکل بازنمایی به شکل دیگر تبدیل کند. به عنوان مثال، هنگام خواندن با صدای بلند، اطلاعات از فرم گسسته (متن) به پیوسته (صدا) تبدیل می شود. در حین دیکته در یک درس زبان روسی، برعکس، اطلاعات از یک فرم پیوسته (صدای معلم) به یک گسسته (یادداشت های دانش آموزان) تبدیل می شود.
اطلاعات ارائه شده به صورت مجزا انتقال، ذخیره یا پردازش خودکار بسیار آسان تر است. بنابراین در فناوری رایانه به روش های تبدیل اطلاعات از فرم پیوسته به گسسته توجه زیادی می شود.
گسسته سازی اطلاعات فرآیند تبدیل اطلاعات از شکل پیوسته نمایش به گسسته است.
بیایید با استفاده از یک مثال به اصل فرآیند نمونه گیری اطلاعات نگاه کنیم.
ایستگاه های هواشناسی دارای ثبت کننده هایی برای ثبت مداوم فشار اتمسفر هستند. نتیجه کار آنها باروگرام است - منحنی هایی که نشان می دهد فشار در دوره های طولانی چگونه تغییر کرده است. یکی از این منحنی ها که توسط دستگاه در طول هفت ساعت مشاهده ترسیم شده است، در شکل نشان داده شده است. 1.9.

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

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

زنجیره های سه نماد باینری با تکمیل کدهای دو رقمی دو رقمی در سمت راست با نماد 0 یا 1 به دست می آیند. در نتیجه، ترکیب کد سه نماد باینری 8 است - دو برابر تعداد دو نماد باینری:
بر این اساس، یک باینری چهار بیتی به شما امکان می دهد 16 ترکیب کد، یک پنج بیتی - 32، یک شش بیتی - 64 و غیره را دریافت کنید. طول زنجیره باینری - تعداد کاراکترهای کد باینری - برابر است با عمق بیت کد باینری نامیده می شود.
توجه داشته باشید که:
4 = 2 * 2,
8 = 2 * 2 * 2,
16 = 2 * 2 * 2 * 2,
32 = 2 * 2 * 2 * 2 * 2 و غیره
در اینجا، تعداد ترکیب کدها حاصل ضرب تعداد معینی از عوامل یکسان برابر با عمق بیت کد باینری است.
اگر تعداد ترکیب کدها با حرف N و عمق بیت کد باینری با حرف i نشان داده شود، الگوی شناسایی شده به صورت کلی به صورت زیر نوشته می شود:
N = 2 * 2 * ... * 2.
i عوامل
در ریاضیات چنین محصولاتی به صورت زیر نوشته می شود:
N = 2 i.
ورودی 2 i به صورت زیر خوانده می شود: "2 به توان i ام".

وظیفه. رهبر قبیله مولتی به وزیر خود دستور داد که یک باینری ایجاد کند و تمام اطلاعات مهم را در آن ترجمه کند. اگر الفبای مورد استفاده قبیله Multi دارای 16 کاراکتر باشد چه اندازه باینری مورد نیاز خواهد بود؟ تمام ترکیب کدها را یادداشت کنید.
راه حل. از آنجایی که الفبای Multi tribe از 16 کاراکتر تشکیل شده است، آنها به 16 ترکیب کد نیاز دارند، در این حالت، طول (عمق بیت) کد باینری از نسبت: 16 = 2 تعیین می شود. بنابراین i = 4.
برای نوشتن تمام کدهای ترکیبی چهار 0 و 1، از نمودار شکل 1 استفاده می کنیم. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110,0111,1000,1001,1010,1011,1100,1101,1110,1111.

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

1.5.4. کدهای یکنواخت و غیر یکنواخت
کدهای یکنواخت و غیر یکنواخت وجود دارد. کدهای یکنواخت در ترکیب کدها دارای تعداد یکسانی از نمادها هستند، کدهای ناهموار حاوی تعداد متفاوتی هستند.
در بالا به کدهای باینری یکنواخت نگاه کردیم.
نمونه ای از کدهای غیر یکنواخت، کد مورس است که در آن دنباله ای از سیگنال های کوتاه و بلند برای هر حرف و عدد تعریف می شود. بنابراین، حرف E مربوط به یک سیگنال کوتاه ("نقطه") و حرف Ш مربوط به چهار سیگنال بلند (چهار "خط تیره") است. ناهموار به شما امکان می دهد سرعت انتقال پیام را افزایش دهید زیرا نمادهای متداول در اطلاعات ارسالی دارای کوتاه ترین ترکیب کد هستند.

اطلاعاتی که این نماد می دهد برابر با آنتروپی سیستم است و در حالتی حداکثر است که هر دو حالت به یک اندازه محتمل باشند. در این حالت، نماد ابتدایی اطلاعات 1 (دو واحد) را منتقل می کند. بنابراین، اساس رمزگذاری بهینه این الزام خواهد بود که کاراکترهای ابتدایی در متن رمزگذاری شده به طور متوسط ​​به همان میزان تکرار شوند.

اجازه دهید در اینجا روشی برای ساخت کدی ارائه کنیم که شرایط بیان شده را برآورده کند. این روش به کد Shannon-Fano معروف است. ایده آن این است که نمادهای رمزگذاری شده (حروف یا ترکیب حروف) به دو گروه تقریباً مساوی تقسیم می شوند: برای اولین گروه از نمادها، 0 در اولین مکان ترکیب قرار می گیرد (نخستین کاراکتر عدد باینری که نشان دهنده سمبل)؛ برای گروه دوم - 1. سپس، هر گروه دوباره به دو زیر گروه تقریباً مساوی تقسیم می شود. برای نمادهای زیر گروه اول، صفر در جایگاه دوم قرار می گیرد. برای زیر گروه دوم - یک و غیره.

اجازه دهید اصل ساخت کد شانون-فانو را با استفاده از مواد الفبای روسی نشان دهیم (جدول 18.8.1). بیایید شش حرف اول را بشماریم (از "-" تا "t")؛ با جمع کردن احتمالات (فرکانس) آنها 0.498 بدست می آید. همه حروف دیگر (از "n" تا "sf") تقریباً احتمال یکسانی 0.502 خواهند داشت. شش حرف اول (از "-" تا "t") در وهله اول یک باینری 0 خواهند داشت. در مرحله بعد، ما دوباره گروه اول را به دو زیر گروه تقریباً مساوی تقسیم می کنیم: از "-" تا "o" و از "e" تا "t". برای تمام حروف زیرگروه اول در وهله دوم صفر قرار می دهیم و از زیرگروه دوم این فرآیند را تا زمانی که در هر تقسیم بندی دقیقاً یک حرف باقی می ماند ادامه می دهیم که با یک عدد باینری مشخص کدگذاری می شود برای ساخت کد در جدول 18.8 .2 نشان داده شده است و خود کد در جدول 18.8.3 آورده شده است.

جدول 18.8.2.

علائم باینری

جدول 18.8.3

با استفاده از جدول 18.8.3، می توانید هر پیامی را رمزگذاری و رمزگشایی کنید.

به عنوان مثال، بیایید عبارت "نظریه اطلاعات" را در کد باینری بنویسیم.

01110100001101000110110110000

0110100011111111100110100

1100001011111110101100110

توجه داشته باشید که نیازی به جدا کردن حروف از یکدیگر با علامت خاصی نیست، زیرا رمزگشایی بدون ابهام انجام می شود. شما می توانید این را با رمزگشایی عبارت زیر با استفاده از جدول 18.8.2 تأیید کنید:

10011100110011001001111010000

1011100111001001101010000110101

010110000110110110

("روش رمزگذاری").

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

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

,

احتمال اینکه حرف حالت خاصی به خود بگیرد کجاست ("-"، o، e، a،...، f).

از روی میز 18.8.1 داریم

(دو واحد در هر حرف متن).

با استفاده از جدول 18.8.2، میانگین تعداد نمادهای ابتدایی در هر حرف را تعیین می کنیم

با تقسیم آنتروپی بر، اطلاعاتی را برای هر نماد ابتدایی بدست می آوریم

(دو واحد).

بنابراین، اطلاعات به ازای هر کاراکتر به حد بالایی آن یعنی 1 بسیار نزدیک است و کدی که انتخاب کرده‌ایم بسیار نزدیک به بهینه است. با باقی ماندن در محدوده وظیفه رمزگذاری حروف، نمی توانیم به چیزی بهتر دست یابیم.

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

(دو واحد)

یعنی به طور قابل توجهی کمتر از کدگذاری حروف بهینه.

با این حال، لازم به ذکر است که کدگذاری "با نامه" به هیچ وجه مقرون به صرفه نیست. واقعیت این است که همیشه بین حروف مجاور هر متن معنی دار وابستگی وجود دارد. به عنوان مثال، پس از یک مصوت در زبان روسی، نمی تواند "ъ" یا "ь" باشد. "من" یا "یو" نمی تواند پس از خش خش ظاهر شود. پس از چندین صامت پشت سر هم، احتمال یک مصوت افزایش می یابد و غیره.

می دانیم که وقتی سیستم های وابسته با هم ترکیب می شوند، آنتروپی کل کمتر از مجموع آنتروپی های هر سیستم است. بنابراین، اطلاعات منتقل شده توسط یک قطعه متن متصل همیشه کمتر از اطلاعات هر کاراکتر ضربدر تعداد کاراکترها است. با در نظر گرفتن این شرایط، اگر نه هر حرف را به صورت جداگانه، بلکه کل "بلوک" حروف را رمزگذاری کنید، می توان کد اقتصادی تری ساخت. به عنوان مثال، در یک متن روسی منطقی است که به طور کامل برخی از ترکیبات رایج حروف مانند "tsya"، "ayet"، "nie" و غیره رمزگذاری شود. بلوک های کدگذاری شده به ترتیب فرکانس نزولی مانند حروف مرتب شده اند. در جدول 18.8.1، و کدگذاری باینری بر اساس همان اصل انجام می شود.

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

"سال نو را تبریک می گویم، برای شما آرزوی سلامتی و موفقیت در کار دارم."

بدون پرداختن به روش‌های کدگذاری بلوکی، خود را به فرمول‌بندی قضیه شانون در اینجا محدود می‌کنیم.

اجازه دهید یک منبع اطلاعات و یک گیرنده متصل به یک کانال ارتباطی وجود داشته باشد (شکل 18.8.1).

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

پاسخ این سوال را قضیه اول شانون می دهد. اجازه دهید آن را در اینجا بدون اثبات فرمول بندی کنیم.

قضیه 1 شانون

اگر ظرفیت کانال ارتباطی بیشتر از آنتروپی منبع اطلاعات در واحد زمان باشد

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

پس انتقال اطلاعات بدون تاخیر غیرممکن است.