Какво е кодиране и декодиране накратко. Кодиране и декодиране на цифрова информация. Примери за кодиране и декодиране на числа

Кодиране и декодиране на информация

За правилната задача ще получите 1 точка... Приблизително 2 минути.

За да изпълните задача 5 по компютърни науки, трябва да знаете:

Кодиранее превод на информация от една форма на представяне в друга.

Декодиранее обратен на процеса на кодиране.

Кодирането се случва униформаи неравномерно;

  • при еднородно кодиране всички символи се кодират с кодове с еднаква дължина; Например: ASCII или Unicode.
  • при нееднородно кодиране различни символи могат да бъдат кодирани с кодове с различна дължина, което усложнява декодирането поради появата на неяснота в кода. Например: Знакът A е кодиран с цифрата 0, B - с последователността 01, а B - с последователността 1. Така например съобщението "011" може да бъде декодирано като ABB или BV. Ако кодът е двусмислен, информацията може да бъде декодирана по различни начини.

За недвусмислено декодиране кодът трябва да отговаря условието на Фано: н и коя кодова дума не може да бъде началото на друга кодова дума.

Тренировъчни задачи

    Комуникационният канал предава криптирани съобщения, съдържащи само десет букви: A, B, E, I, K, L, P, C, T, U. За предаването се използва нечетен двоичен код. Кодовите думи се използват за девет букви.

    писмо Кодова дума писмо Кодова дума
    А 00 Л 1101
    Б Р 1010
    Е 010 С 1110
    И 011 T 1011
    ДА СЕ 1111 Имайте 100

    Посочете най-кратката кодова дума за буквата B, при която кодът ще удовлетвори условието на Фано. Ако има няколко такива кода, посочете кода с най-малкиятчислова стойност.
    Забележка.


    Решение
  1. Съобщението съдържа 4 различни букви. По време на предаването е използван неравномерен двоичен префиксен код. Известни са кодовете на две букви: 101, 01. Кодовете на другите две букви са с еднаква дължина. Каква е минималната обща дължина на всичките 4 кодови думи?


    Решение
  2. Комуникационният канал предава съобщения, съдържащи само пет букви: D, O, S, K, A; за предаване се използва двоичен код, позволяващ недвусмислено декодиране. За буквите D, O, C се използват следните кодови думи: D: 1, O: 01, C: 0001. Посочете най-краткия сбор от дължините на кодовите думи за буквите K, A, при който кодът ще позволяват недвусмислено декодиране.


    Решение
  3. Съобщението съдържа 9 различни букви. При предаването му е използван неравномерен двоичен код, позволяващ недвусмислено декодиране. Известни са кодовете от три букви: 100, 001.01. Каква е минималната обща дължина на всичките 9 кодови думи?


    Решение
  4. Комуникационният канал предава криптирани съобщения, съдържащи само десет букви: A, B, C, D, E, F, Z, E, I, L. За предаването се използва нечетен двоичен код. Кодовите думи се използват за седем букви.

    Посочете най-кратката кодова дума за буквата L, при която кодът ще удовлетвори условието на Фано. Ако има няколко такива кода, посочете кода с най-малкиятчислова стойност.
    Забележка.Условието на Фано означава, че нито една кодова дума не е началото на друга кодова дума. Това дава възможност за недвусмислено дешифриране на кодираните съобщения.


    Решение
  5. Комуникационният канал предава криптирани съобщения, съдържащи само десет букви: A, B, C, D, E, F, Z, E, I, L. За предаването се използва нечетен двоичен код. Кодовите думи се използват за осем букви.

    Посочете най-кратката кодова дума за буквата Z, при която кодът ще удовлетвори условието на Фано. Ако има няколко такива кода, посочете кода с най-малкиятчислова стойност.
    Забележка.Условието на Фано означава, че нито една кодова дума не е началото на друга кодова дума. Това дава възможност за недвусмислено дешифриране на кодираните съобщения.


    Решение
  6. Комуникационният канал предава криптирани съобщения, съдържащи само десет букви: A, B, C, D, E, F, Z, E, I, L. За предаването се използва нечетен двоичен код. Кодовите думи се използват за пет букви.

    Посочете най-кратката кодова дума за буквата G, при която кодът ще удовлетвори условието на Фано. Ако има няколко такива кода, посочете кода с най-малкиятчислова стойност.
    Забележка.Условието на Фано означава, че нито една кодова дума не е началото на друга кодова дума. Това дава възможност за недвусмислено дешифриране на кодираните съобщения.

Информация и нейното кодиране

Различни подходи към дефиницията на понятието "информация". Видове информационни процеси. Информационен аспект в човешката дейност

Информация(лат. информация- обяснение, представяне, набор от информация) е основно понятие в компютърните науки, на което не може да се даде строга определение, а може само да се обясни:

  • информацията е нови факти, ново знание;
  • информацията е информация за обекти и явления от околната среда, които повишават нивото на човешката информираност;
  • информацията е информация за обекти и явления от околната среда, които намаляват степента на несигурност на знанието за тези обекти или явления при вземане на определени решения.

Понятието "информация" е общонаучно, тоест се използва в различни науки: физика, биология, кибернетика, компютърни науки и др. Освен това във всяка наука това понятие се свързва с различни системи от понятия. Така че във физиката информацията се счита за антиентропия (мярка за реда и сложността на системата). В биологията понятието "информация" се свързва с целесъобразното поведение на живите организми, както и с изследванията на механизмите на наследствеността. В кибернетиката понятието „информация“ се свързва с процесите на управление в сложни системи.

Основните социално значими свойства на информацията са:

  • полезност;
  • достъпност (разбираемост);
  • уместност;
  • пълнота;
  • надеждност;
  • адекватност.

В човешкото общество информационните процеси протичат непрекъснато: хората възприемат информация от заобикалящия ги свят с помощта на сетивата си, разбират я и вземат определени решения, които, въплътени в реални действия, влияят на света около тях.

Информационен процесТова е процесът на събиране (получаване), предаване (обмен), съхранение, обработка (трансформиране) на информация.

Събиране на информация- това е процесът на търсене и подбор на необходимите съобщения от различни източници (работа със специална литература, справочници; провеждане на експерименти; наблюдения; анкетиране, анкетиране; търсене в информационни и референтни мрежи и системи и др.).

Прехвърляне на информацияТова е процес на преместване на съобщения от източник към местоназначение по канал за предаване. Информацията се предава под формата на сигнали – звукови, светлинни, ултразвукови, електрически, текстови, графични и пр. Каналите за предаване могат да бъдат въздушно пространство, електрически и оптични кабели, индивиди, човешки нервни клетки и др.

Хранилище за данниТова е процесът на фиксиране на съобщения върху материален носител. Сега за съхраняване на информация се използват хартия, дърво, плат, метал и други повърхности, филмови и фотографски филми, магнитни ленти, магнитни и лазерни дискове, флаш карти и др.

Обработка на данниТова е процесът на получаване на нови съобщения от съществуващите. Обработката на информация е един от основните начини за увеличаване на нейното количество. В резултат на обработката, съобщения от един тип могат да бъдат получени от съобщения от друг тип.

Защита на информациятаТова е процес на създаване на условия, които предотвратяват случайна загуба, повреда, промяна на информация или неоторизиран достъп до нея. Методите за защита на информацията са създаване на нейни резервни копия, съхраняване в защитена стая, предоставяне на потребителите на подходящи права за достъп до информация, криптиране на съобщения и др.

Езикът като начин за представяне и предаване на информация

Зависи от начин на възприеманезнаците се делят на:

  • визуални (букви и цифри, математически знаци, ноти, пътни знаци и др.);
  • слухови (устна реч, повиквания, сирени, бипкания и др.);
  • тактилни (брайл за незрящи, жестове за докосване и др.);
  • обонятелен;
  • овкусяване.

За дългосрочно съхранение знаците се записват на информационни носители.

За предаване на информация във формуляра се използват знаци сигнали(светофари, звук на училищен звънец и др.).

По начина на отношението между форма и смисълзнаците се делят на:

  • емблематичен- формата им е подобна на показания обект (например иконата на папката "Моят компютър" на "Работа" на компютъра);
  • символи- връзката между тяхната форма и значение се установява с общоприето съгласие (например букви, математически символи ∫, ≤, ⊆, ∞; символи на химични елементи).

Знаковите системи се използват за представяне на информация, които се наричат езици... Основата на всеки език е азбука- набор от символи, от които се формира съобщение, и набор от правила за извършване на операции върху символи.

Езиците са разделени на:

  • естествено(говорим) - руски, английски, немски и др .;
  • официално- намира се в специални области на човешката дейност (например езикът на алгебрата, езиците за програмиране, електрическите вериги и др.)

Системите с числа могат да се разглеждат и като формални езици. И така, десетичната бройна система е език, чиято азбука се състои от десет цифри 0..9, двоичната бройна система е език, чиято азбука се състои от две числа - 0 и 1.

Методи за измерване на количеството информация: вероятностен и азбучен

Единицата за измерване на количеството информация е малко. 1 бит- Това е количеството информация, съдържаща се в съобщението, което намалява наполовина несигурността на знанието за нещо.

Определя се връзката между броя на възможните събития N и количеството информация I по формулата на Хартли:

Например, да предположим, че топката е в една от четирите кутии. По този начин има четири еднакво вероятни събития (N = 4). Тогава по формулата на Хартли 4 = 2 I. Следователно I = 2. Тоест съобщението за това в коя кутия се намира топката съдържа 2 бита информация.

Азбучен подход

С азбучен подход за определяне на количеството информация, те се разсейват от съдържанието (значението) на информацията и я разглеждат като последователност от знаци на определена знакова система. Наборът от символи на езика (азбуката) може да се разглежда като различни възможни събития. След това, ако приемем, че появата на символи в съобщението е еднакво вероятна, използвайки формулата на Хартли, можете да изчислите колко информация носи всеки символ:

Например на руски има 32 букви (буквата ё обикновено не се използва), тоест броят на събитията ще бъде 32. Тогава обемът на информацията на един знак ще бъде равен на:

I = log 2 32 = 5 бита.

Ако N не е цяло число от 2, тогава log 2 N не е цяло число и аз трябва да се закръгли нагоре. При решаването на задачи в този случай мога да се намери като log 2 N ", където N е най-близката степен на две до N, така че N> N.

Например, има 26 букви на английски. Информационният обем на един символ може да бъде намерен, както следва:

N = 26; N "= 32; I = log 2 N" = log 2 (2 5) = 5 бита.

Ако броят на знаците в азбуката е N, а броят на знаците в записа на съобщението е M, тогава обемът на информацията на това съобщение се изчислява по формулата:

I = M log 2 N.

Примери за решаване на проблеми

Пример 1.Светлинното табло се състои от електрически крушки, всяка от които може да бъде в едно от двете състояния ("включено" или "изключено"). Какъв е най-малкият брой светлини на таблото за предаване на 50 различни сигнала?

Решение.С помощта на n крушки, всяка от които може да бъде в едно от двете състояния, могат да бъдат кодирани 2 n сигнала. 2 5< 50 < 2 6 , поэтому пяти лампочек недостаточно, а шести хватит.

Отговор: 6.

Пример 2.Метеорологичната станция следи влажността на въздуха. Резултатът от едно измерване е цяло число от 0 до 100, което се записва с възможно най-малкия брой битове. Станцията направи 80 измервания. Определете обема на информацията на резултатите от наблюдението.

Решение.В този случай азбуката е набор от цели числа от 0 до 100. Има общо 101 такива стойности. Следователно обемът на информацията на резултатите от едно измерване е I = log 2 101. Тази стойност няма да е цяло число . Нека заменим числото 101 с най-близката степен на две, по-голяма от 101. Това число е 128 = 27. Приемаме за едно измерване I = log 2 128 = 7 бита. За 80 измервания общият обем на информацията е:

80 7 = 560 бита = 70 байта.

Отговор: 70 байта.

Вероятностен подход

Вероятностният подход за измерване на количеството информация се използва, когато възможните събития имат различни вероятности за реализация. В този случай се определя количеството информация по формулата на Шанън:

$ I = -∑↙ (i = 1) ↖ (N) p_ilog_2p_i $,

където $ I $ е количеството информация;

$ N $ - броят на възможните събития;

$ p_i $ - вероятност за $ i $ -тото събитие.

Например, нека при хвърляне на асиметрична тетраедрична пирамида вероятностите за отделни събития ще бъдат равни:

$ p_1 = (1) / (2), p_2 = (1) / (4), p_3 = (1) / (8), p_4 = (1) / (8) $.

Тогава количеството информация, което ще бъде получено след прилагането на един от тях, може да се изчисли по формулата на Шанън:

$ I = - ((1) / (2) log_2 (1) / (2) + (1) / (4) log_2 (1) / (4) + (1) / (8) log_2 (1) / ( 8) + (1) / (8) log_2 (1) / (8)) = (14) / (8) $ бита $ = 1,75 $ бита.

Единици за измерване на количеството информация

Най-малката единица информация е малко(англ. двоична цифра (бит)е двоична единица информация).

малкоДали количеството информация, необходимо за недвусмислено определяне на едно от две еднакво вероятни събития. Например, човек получава една малко информация, когато разбере дали влакът, който му трябва, закъснява с пристигане или не, било е мразовито през нощта или не, студентът Иванов присъства на лекцията или не и т.н.

В компютърните науки е обичайно да се разглеждат последователности с дължина 8 бита. Тази последователност се нарича байт.

Произведени единици за измерване на количеството информация:

1 байт = 8 бита

1 килобайт (KB) = 1024 байта = 2 10 байта

1 мегабайт (MB) = 1024 килобайта = 2 20 байта

1 гигабайт (GB) = 1024 мегабайта = 2 30 байта

1 терабайт (TB) = 1024 гигабайта = 2 40 байта

Процесът на предаване на информация. Видове и свойства на източниците и приемниците на информация. Сигнал, кодиране и декодиране, причини за изкривяване на информацията по време на предаване

Информацията се предава под формата на съобщения от някои източникинформация за нея приемникпрез комуникационен каналмежду тях.

Живо същество или техническо устройство може да действа като източник на информация. Източникът изпраща предаденото съобщение, което е кодирано в предаденото сигнал.

СигналТова е материална и енергийна форма за представяне на информация. С други думи, сигналТова е носител на информация, един или няколко параметъра на които, променяйки се, показват съобщение. Сигналите могат да бъдат аналогов(непрекъснато) или отделен(импулс).

Сигналът се изпраща по комуникационния канал. В резултат на това в приемника се появява получен сигнал, който се декодира и се превръща в получено съобщение.

Предаването на информация по комуникационните канали често е придружено от влиянието на смущения, причиняващи изкривяване и загуба на информация.

Примери за решаване на проблеми

Пример 1.За кодиране на буквите A, Z, P, O се използват съответно двубитови двоични числа 00, 01, 10, 11. По този начин думата ROSE беше кодирана и резултатът беше написан в шестнадесетичен код. Посочете получения номер.

Решение.Нека запишем последователността от кодове за всеки символ на думата ROSA: 10 11 01 00. Ако разгледаме получената последователност като двоично число, тогава в шестнадесетичния код тя ще бъде равна на: 1011 0100 2 = B4 16.

Отговор: B4 16.

Скорост на предаване на информация и честотна лента на комуникационния канал

Приемането/предаването на информация може да се извършва с различна скорост. Количеството информация, предавана за единица време е скорост на предаване на информация, или скорост на информационния поток.

Скоростта се изразява в битове в секунда (bps) и кратни на Kbps и Mbps, както и в байтове в секунда (bytes/s) и кратни на KB/s и MB/s.

Извиква се максималната скорост на предаване на данни по комуникационния канал честотна лента на канала.

Примери за решаване на проблеми

Пример 1.Скоростта на трансфер на данни през ADSL връзката е 256000 bps. Прехвърлянето на файла през тази връзка отне 3 минути. Определете размера на файла в килобайти.

Решение.Размерът на файла може да се изчисли чрез умножаване на скоростта на трансфер на данни по времето за прехвърляне. Нека изразим времето в секунди: 3 минути = 3 ⋅ 60 = 180 секунди. Нека изразим скоростта в килобайти в секунда: 256000 bps = 256000: 8: 1024 KB / s. Когато изчисляваме размера на файла, за да опростим изчисленията, избираме степени на две:

Размер на файла = (256000: 8: 1024) ⋅ (3 ⋅ 60) = (2 8 ⋅ 10 3: 2 3: 2 10) ⋅ (3 ⋅ 15 ⋅ 2 2) = (2 8 ⋅ 125 : 3: 2 10) ⋅ (3 ⋅ 15 ⋅ 2 2) = 125 ⋅ 45 = 5625 KB.

Отговор: 5625 KB.

Представяне на цифрова информация. Събиране и умножение в различни бройни системи

Представяне на цифрова информация с помощта на числови системи

За представяне на информация в компютър се използва двоичен код, чиято азбука се състои от две цифри - 0 и 1. Всяка цифра от машинния двоичен код носи количество информация, равно на един бит.

НотацияТова е система за писане на числа с помощта на определен набор от числа.

Цифровата система се нарича позиционен, ако една и съща цифра има различно значение, което се определя от мястото й в числото.

Позиционалната е десетичната бройна система. Например в числото 999 цифрата "9", в зависимост от позицията, означава 9, 90, 900.

Римската цифрова система е непозиционен... Например, стойността на фигурата X в числото XXI остава непроменена, когато позицията му в числото се променя.

Позицията на цифрата в числото се нарича освобождаване от отговорност... Цифрата на числото се увеличава от дясно на ляво, от най-малките битове към най-значимите.

Броят на различните цифри, използвани в позиционната бройна система, се нарича неговата основа.

Разширена форма на числоТова е запис, който е сумата от произведенията на цифрите на число по стойността на позициите.

Например: 8527 = 8 ⋅ 10 3 + 5 ⋅ 10 2 + 2 ⋅ 10 1 + 7 ⋅ 10 0.

Разширената форма на запис на числа в произволна бройна система е

$ ∑↙ (i = n-1) ↖ (-m) a_iq ^ i $,

където $ X $ е число;

$ a $ - цифри от цифров запис, съответстващи на цифрите;

$ i $ - индекс;

$ m $ - броят на цифрите на номера на дробната част;

$ n $ - брой цифри на целочисления номер на частта;

$ q $ - основа.

Например, нека напишем разширената форма на десетичното число $ 327,46 $:

$ n = 3, m = 2, q = 10. $

$ X = ∑↙ (i = 2) ↖ (-2) a_iq ^ i = a_2 10 ^ 2 + a_1 10 ^ 1 + a_0 10 ^ 0 + a _ (- 1) 10 ^ (- 1) + a _ ( - 2) 10 ^ (- 2) = 3 10 ^ 2 + 2 10 ^ 1 + 7 10 ^ 0 + 4 10 ^ (- 1) + 6 10 ^ (- 2) $

Ако основата на използваната бройна система е повече от десет, тогава за числата се въвежда символ със скоби в горната част или азбучно обозначение: B - двоична система, O - осмична, H - шестнадесетична.

Например, ако в дванадесетичната бройна система 10 = A и 11 = B, тогава числото 7A, 5B 12 може да бъде записано, както следва:

7A, 5B 12 = B ⋅ 12 -2 + 5 ⋅ 2 -1 + A ⋅ 12 0 + 7 ⋅ 12 1.

Шестнадесетичната бройна система има 16 цифри, обозначени с 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, което съответства на следните десетични числа: 0 , 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Примери за числа: 17D, ECH; F12AH.

Превод на числа в позиционни бройни системи

Преобразуване на числа от произволна бройна система в десетична

За да преобразувате число от всяка позиционна бройна система в десетична, е необходимо да използвате разширената форма на числото, като замените, ако е необходимо, буквените обозначения със съответните числа. Например:

1101 2 = 1 ⋅ 2 3 + 1 ⋅ 2 2 + 0 ⋅ 2 1 + 1 ⋅ 2 0 = 13 10 ;

17D, ECH = 12 16 -2 + 14 ⋅ 16 -1 + 13 ⋅ 160 + 7 ⋅ 16 1 + 1 ⋅ 16 2 = 381,921875.

Преобразуване на числа от десетичната бройна система в дадена

За да се преобразува цяло число от десетична бройна система в число от всяка друга бройна система, деленето се извършва последователно от основата, докато се получи нула. Числата, които възникват като остатък от деленето по основата на системата, представляват последователен запис на цифрите на числото в избраната бройна система от най-малката цифра до най-значимата. Следователно, за да се напише самото число, остатъците от делението се записват в обратен ред.

Например, нека преобразуваме десетичното число 475 в двоично. За да направим това, ще извършим последователно деление изцяло по основата на новата бройна система, тоест по 2:

Като четем остатъците от делението отдолу нагоре, получаваме 111011011.

Преглед:

1 ⋅ 2 8 + 1 ⋅ 2 7 + 1 ⋅ 2 6 + 0 ⋅ 2 5 + 1 ⋅ 2 4 + 1 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 1 + 2 + 8 + 16 + 64 + 128 + 256 = 475 10 .

За да преобразувате десетичните дроби в число от произволна бройна система, умножете последователно по основата на числовата система, докато дробната част на произведението стане равна на нула. Получените цели части са цифрите на числото в новата система и те трябва да бъдат представени от цифрите на тази нова бройна система. По-късно цели части се изхвърлят.

Например, нека преобразуваме десетичната дроб 0,375 10 в двоична бройна система:

Резултатът е 0,011 2.

Не всяко число може да бъде точно изразено в новата бройна система, така че понякога се изчислява само необходимия брой десетични знаци.

Преобразуване на числа от двоични в осмични и шестнадесетични и обратно

Осем цифри се използват за записване на осмични числа, тоест са възможни 8 опции за запис във всяка цифра на числото. Всяка цифра от осмичното число съдържа 3 бита информация (8 = 2 I; I = 3).

По този начин, за да се преобразува число от осмичната бройна система в двоичен код, всяка цифра от това число трябва да бъде представена от триада от двоични символи. Допълнителните водещи нули се отхвърлят.

Например:

1234,777 8 = 001 010 011 100,111 111 111 2 = 1 010 011 100,111 111 111 2 ;

1234567 8 = 001 010 011 100 101 110 111 2 = 1 010 011 100 101 110 111 2 .

Когато преобразувате двоично число в осмична бройна система, заменете всяка триада от двоични цифри с осмична цифра. В този случай, ако е необходимо, числото се подравнява чрез добавяне на нули преди цялата част или след дробната част.

Например:

1100111 2 = 001 100 111 2 = 147 8 ;

11,1001 2 = 011,100 100 2 = 3,44 8 ;

110,0111 2 = 110,011 100 2 = 6,34 8 .

За записване на шестнадесетични числа се използват 16 цифри, тоест за всяка цифра от числото са възможни 16 опции за запис. Всяка цифра от шестнадесетично число съдържа 4 бита информация (16 = 2 І; І = 4).

По този начин, за да преобразувате двоично число в шестнадесетично число, трябва да го разделите на групи от четири цифри и да преобразувате всяка група в шестнадесетична цифра.

Например:

1100111 2 = 0110 0111 2 = 67 16 ;

11,1001 2 = 0011,1001 2 = 3,9 16 ;

110,0111001 2 = 0110,0111 0010 2 = 65,72 16 .

За да преобразувате шестнадесетично число в двоичен код, всяка цифра от това число трябва да бъде представена с четири двоични цифри.

Например:

1234, AB77 16 = 0001 0010 0011 0100.1010 1011 0111 0111 2 = 1 0010 0011 0100.1010 1011 0111 0111 2;

CE4567 16 = 1100 1110 0100 0101 0110 0111 2.

Когато преобразувате число от една произволна бройна система в друга, трябва да извършите междинно преобразуване в десетично число. При превключване от осмичен към шестнадесетичен и обратно се използва спомагателният двоичен код на числото.

Например, нека преведем тройното число 211 3 в седмична бройна система. За да направите това, първо преобразувайте числото 211 3 в десетично, като запишете неговата разширена форма:

211 3 = 2 ⋅ 3 2 + 1 ⋅ 3 1 + 1 ⋅ 3 0 = 18 + 3 + 1 = 22 10 .

След това превеждаме десетичното число 22 10 в седмична бройна система, като разделяме изцяло на базата на новата бройна система, тоест на 7:

И така, 211 3 = 31 7.

Примери за решаване на проблеми

Пример 1.В бройната система с някаква основа числото 12 се записва във формата 110. Посочете тази основа.

Решение.Нека означим необходимата основа с n. Съгласно правилото за запис на числата в позиционни бройни системи 12 10 = 110 n = 0 · n 0 + 1 · n 1 + 1 · n 2. Нека направим уравнението: n 2 + n = 12. Нека намерим естествения корен на уравнението (отрицателен корен не се вписва, тъй като основата на числовата система по дефиниция е естествено число, по-голямо от едно): n = 3. Нека проверим получения отговор: 110 3 = 0 3 0 + 1 3 1 + 1 3 2 = 0 + 3 + 9 = 12.

Отговор: 3.

Пример 2.Посочете, разделени със запетаи, във възходящ ред всички основи на бройните системи, в които числото 22 завършва на 4.

Решение.Последната цифра в числото е остатъкът от деленето на числото по основата на числовата система. 22 - 4 = 18. Намерете делителите на числото 18. Това са числата 2, 3, 6, 9, 18. Числата 2 и 3 не пасват, тъй като в бройните системи с основи 2 и 3 няма номер 4. И така, търсените основи са числата 6, 9 и 18. Нека проверим получения резултат, като запишем числото 22 в посочените бройни системи: 22 10 = 34 6 = 24 9 = 14 18.

Отговор: 6, 9, 18.

Пример 3.Посочете, разделени със запетаи, във възходящ ред всички числа, ненадвишаващи 25, чието вписване в двоичната бройна система завършва на 101. Запишете отговора в десетичната бройна система.

Решение.За удобство ще използваме осмичната бройна система. 101 2 = 5 8. Тогава числото x може да бъде представено като x = 5 8 0 + a 1 8 1 + a 2 8 2 + a 3 8 3 + ..., където a 1, a 2, a 3, ... са осмични цифри. .. Търсените числа не трябва да надвишават 25, така че разширението трябва да бъде ограничено до първите два члена (8 2> 25), тоест такива числа трябва да имат представяне x = 5 + a 1 · 8. Тъй като x ≤ 25, допустимите стойности на a 1 са 0 , 1, 2. Замествайки тези стойности в израза за x, получаваме необходимите числа:

а 1 = 0; x = 5 + 0 8 = 5 ;.

а 1 = 1; x = 5 + 1 8 = 13 ;.

а 1 = 2; x = 5 + 2 8 = 21 ;.

Да проверим:

13 10 = 1101 2 ;

21 10 = 10101 2 .

Отговор: 5, 13, 21.

Аритметични операции в позиционни бройни системи

Правилата за извършване на аритметични операции върху двоични числа се задават от таблиците за събиране, изваждане и умножение.

Правилото за извършване на операцията по събиране е едно и също за всички бройни системи: ако сборът от добавените цифри е по-голям или равен на основата на числовата система, тогава единицата се прехвърля на следващата цифра вляво. Чрез изваждане, ако е необходимо, направете заем.

Пример за изпълнение допълнения: добавяне на двоични числа 111 и 101, 10101 и 1111:

Пример за изпълнение изваждане:извадете двоични числа 10001 - 101 и 11011 - 1101:

Пример за изпълнение умножение:умножете двоични числа 110 и 11, 111 и 101:

Аритметичните операции се извършват по същия начин в осмична, шестнадесетична и други бройни системи. Трябва да се има предвид, че сумата на прехвърляне към следващата цифра по време на събиране и заем от най-значимата цифра по време на изваждане се определя от стойността на основата на числовата система.

Например, нека добавим осмичните числа 36 8 и 15 8 и извадим шестнадесетичните числа 9C 16 и 67 16:

Когато извършвате аритметични операции върху числа, представени в различни бройни системи, първо трябва да ги преведете в една и съща система.

Представяне на числа в компютър

Формат на фиксирана точка

В паметта на компютъра цели числа се съхраняват във формат с фиксирана точка: всеки бит от клетката на паметта съответства на същия бит от числото, "запетаята" е извън битовата мрежа.

8 бита памет са разпределени за съхраняване на неотрицателни цели числа. Минималното число съответства на осем нули, съхранявани в осем бита на клетката на паметта и е равно на 0. Максималното число съответства на осем единици и е равно на

1 ⋅ 2 7 + 1 ⋅ 2 6 + 1 ⋅ 2 5 + 1 ⋅ 2 4 + 1 ⋅ 2 3 + 1 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 255 10 .

По този начин диапазонът за неотрицателни цели числа е от 0 до 255.

За n-битово представяне диапазонът ще бъде от 0 до 2 n - 1.

Подписаните цели числа се съхраняват в 2 байта памет (16 бита). Най-значимият бит се задава под знака на числото: ако числото е положително, тогава в знаковия бит се записва 0, ако числото е отрицателно - 1. Такова представяне на числата в компютъра се нарича директен код.

За да представите отрицателни числа, използвайте допълнителен код... Позволява ви да замените аритметичната операция на изваждане с операцията събиране, което значително опростява работата на процесора и повишава неговата производителност. Допълнителният код на отрицателно число A, съхранен в n клетки, е равен на 2 n - | A |.

Алгоритъм за получаване на допълнителен код за отрицателно число:

1. Запишете директния код на числото в n двоични цифри.

2. Вземете код за обратен номер... (Обратният код се формира от предния код, като нулите се заменят с единици, а единиците - с нули, с изключение на цифрите със знак. При положителни числа обратният код съвпада с предния. Използва се като междинна връзка за получаване допълнителен код.)

3. Добавете един към получения обратен код.

Например получаваме допълнителния код за числото -2014 10 за шестнадесет-битовото представяне:

При алгебрично събиране на двоични числа с помощта на код за допълване, положителните термини са представени в директния код, а отрицателните в допълнителния код на двете. След това тези кодове се сумират, включително знаковите битове, които се считат за най-значимите битове. При прехвърляне от знаковия бит, единицата за прехвърляне се изхвърля. В резултат на това се получава алгебричен сбор в директен код, ако този сбор е положителен, и в допълнителен - ако сборът е отрицателен.

Например:

1) Намерете разликата 13 10 - 12 10 за осембитово представяне. Нека представим дадените числа в двоичната бройна система:

13 10 = 1101 2 и 12 10 = 1100 2.

Нека напишем кодовете напред, назад и допълнителните кодове за числото -12 10 и кода напред за числото 13 10 в осем бита:

Изваждането се заменя със събиране (за удобство на контрола върху цифрата на знака, ние го разделяме условно със знака "_"):

Тъй като имаше прехвърляне от знаковия бит, изхвърляме първата единица и в резултат получаваме 00000001.

2) Намерете разликата 8 10 - 13 10 за осембитово представяне.

Нека напишем кодовете напред, назад и допълнителните кодове за числото -13 10 и кода напред за числото 8 10 в осем бита:

Изваждането се заменя със събиране:

В знаковия бит има едно, което означава, че резултатът се получава в кода за допълване на две. Нека преминем от допълнителния код към обратния, като извадим едно:

11111011 - 00000001 = 11111010.

Нека преминем от обратния код към директния, като обърнем всички цифри, с изключение на знаковата (най-значимата) цифра: 10000101. Това е десетично число -5 10.

Тъй като с n-битовото представяне на отрицателно число A в кода за допълване на двете, най-значимият бит се разпределя за съхраняване на знака на числото, минималното отрицателно число е: A = -2 n-1, а максималното: | A | = 2 n-1 или A = -2 n-1 - 1.

Нека дефинираме диапазона от числа, които могат да се съхраняват в RAM във формата дълги цели числа със знак(32 бита памет са разпределени за съхраняване на такива числа). Минималното отрицателно число е

A = -2 31 = -2147483648 10.

Максималното положително число е

A = 2 31 - 1 = 2147483647 10.

Предимствата на формата с фиксирана точка са простотата и яснотата на представянето на числата, простотата на алгоритмите за изпълнение на аритметични операции. Недостатъкът е малкият диапазон от представими числа, недостатъчен за решаване на повечето приложни задачи.

Формат с плаваща запетая

Реалните числа се съхраняват и обработват в компютър във формат с плаваща точкаизползвайки експоненциална нотация за числа.

Число в експоненциален формат е представено, както следва:

където $ m $ е мантисата на число (правилна ненулева дроб);

$ q $ - основа на бройната система;

$ n $ е редът на числото.

Например, десетичното число 2674.381 в експоненциална форма би било записано по следния начин:

2674,381 = 0,2674381 ⋅ 10 4 .

Числото с плаваща запетая може да заема 4 байта в паметта ( конвенционална точност) или 8 байта ( двойна точност). При записване на число, цифрите се разпределят за съхраняване на знака на мантисата, знака на реда, реда и мантисата. Последните две стойности определят обхвата на промените в числата и тяхната точност.

Нека дефинираме диапазона (порядъка) и точността (мантиса) за формата на числата с обикновена точност, тоест четири байта. От 32 бита 8 са разпределени за съхраняване на поръчката и нейния знак, а 24 за съхранение на мантисата и нейния знак.

Намерете максималната стойност на реда на числата. От 8-те бита най-значимият бит се използва за съхраняване на знака на поръчката, останалите 7 - за запис на стойността на поръчката. Следователно максималната стойност е 1111111 2 = 127 10. Тъй като числата са представени в двоична система, тогава

$ q ^ n = 2 ^ (127) ≈ 1,7 10 ^ (38) $.

По същия начин максималната стойност на мантисата е

$ m = 2 ^ (23) - 1 ≈ 2 ^ (23) = 2 ^ ((10 2.3)) ≈ 1000 ^ (2.3) = 10 ^ ((3 2.3)) ≈ 10 ^ 7 $.

По този начин диапазонът на нормалните прецизни числа е $ ± 1,7 · 10 ^ (38) $.

Кодиране на текстова информация. ASCII кодиране. Основните използвани кодировки на кирилицата

Извиква се съответствието между набор от знаци и набор от числови стойности кодиране на знаци.Когато текстовата информация се въвежда в компютър, тя е двоично кодирана. Кодът на символа се съхранява в RAM на компютъра. В процеса на показване на символ на екрана се извършва обратната операция - декодиране, тоест преобразуване на символен код в негово изображение.

Конкретният цифров код, присвоен на всеки знак, се записва в кодовите таблици. Различни цифрови кодове могат да съответстват на един и същ знак в различни кодови таблици. Необходимите преобразувания на текст обикновено се извършват от специални програми за преобразуване, вградени в повечето приложения.

Обикновено един байт (осем бита) се използва за съхраняване на символен код, така че кодовете на знаци могат да варират от 0 до 255. Такива кодировки се наричат еднобайтова... Те позволяват 256 знака (N = 2 I = 2 8 = 256). Извиква се таблица с еднобайтови символни кодове ASCII (американски стандартен код за обмен на информация- Американски стандартен код за обмен на информация). Първата част от ASCII кодовата таблица (от 0 до 127) е една и съща за всички компютри, съвместими с IBM-PC и съдържа:

  • контролни символни кодове;
  • кодове на числа, аритметични операции, препинателни знаци;
  • някои специални знаци;
  • кодове от големи и малки латински букви.

Втората част на таблицата (кодове от 128 до 255) е различна при различните компютри. Съдържа кодове на букви от националната азбука, кодове на някои математически символи, кодове на псевдографични символи. Понастоящем се използват пет различни кодови таблици за руски букви: KOI-8, CP1251, CP866, Mac, ISO.

Напоследък нов международен стандарт стана широко разпространен Unicode... Той има два байта (16 бита) за кодиране на всеки знак, така че може да се използва за кодиране на 65536 различни знака (N = 2 16 = 65536). Кодовете на знаци могат да варират от 0 до 65535.

Примери за решаване на проблеми

Пример.Следната фраза е кодирана с Unicode кодиране:

Искам да отида в университет!

Оценете обема на информацията на тази фраза.

Решение.Тази фраза съдържа 31 знака (включително интервали и пунктуация). Тъй като на всеки знак са разпределени 2 байта памет в Unicode, цялата фраза ще се нуждае от 31 ⋅ 2 = 62 байта или 31 ⋅ 2 ⋅ 8 = 496 бита.

Отговор: 32 байта или 496 бита.

A9 Тема: Кодиране и декодиране на информация.

Какво трябва да знаете:

Кодирането е превод на информация от един език на друг (записване в друга система от символи,
на различна азбука)

· Обикновено кодирането се нарича превод на информация от "човешкия" език във формален, например в двоичен код, а декодирането е обратният преход

Един знак от оригиналното съобщение може да бъде заменен с един знак от новия код или няколко знака, или може би обратното - няколко знака от оригиналното съобщение се заменят с един знак в новия код (китайските знаци означават цели думи и понятия)

· кодирането може да бъде униформаи неравномерно ;
при еднородно кодиране всички символи се кодират с кодове с еднаква дължина;
при неравномерно кодиране различни символи могат да бъдат кодирани с кодове с различна дължина, което затруднява декодирането

Кодираното съобщение може да бъде уникално декодирайте от самото начало ако е изпълнено Състоянието на Фано : нито една кодова дума не е началото на друга кодова дума;

Кодираното съобщение може да бъде недвусмислено декодира от края ако е изпълнено обратното условие на Фано: нито една кодова дума не е краят на друга кодова дума;

· Условието на Фано е достатъчно, но не и необходимо условие за недвусмислено декодиране.

Примерна задача

Комуникационният канал предава съобщения, съдържащи само 4 букви: E, H, O, T. За кодиране на буквите E, H, O се използват 5-битови кодови думи: E - 00000, H - 00111, O - 11011. За това набор от кодови думи думи е изпълнено следното свойство: всякакви две думи от набора се различават поне в три позиции. Това свойство е важно за декриптиране на съобщения при наличие на смущения. Коя от следните кодови думи може да се използва за буквата T, така че определеното свойство да е изпълнено за всички
четири кодови думи?

1) 1100 нито една от горните думи не съвпада

Решение:

1) кодът, разгледан в изложението на проблема, се отнася до устойчиви на шум кодове, които ви позволяват да откривате и коригирате определен брой грешки, причинени от смущения по време на предаване на данни;

1) броят на позициите, в които се различават две кодови думи с еднаква дължина, се нарича разстояние на Хаминг

2) код, в който е разстоянието на Хаминг между всяка двойка кодови думи д, ви позволява да откриете до д-1 грешки; за корекция rгрешки изискват изпълнението на условието

д ≥ 2r + 1

така че кодът с д = 3 ви позволява да откриете една или две грешки и да коригирате една грешка.

3) лесно е да се провери, че за даден код (E - 00000, H - 00111, O - 11011) разстоянието на Хеминг е 3; различни битове са маркирани в таблицата, има три от тях по двойки E-H и H-O и четири
в двойка E-O:

E - 00000 E - 00000 N - 00111

N - 00111 O - 11011 O - 11011

4) сега проверяваме разстоянието между известните кодове и опциите за отговор; за първия отговор 11111 получаваме минималното разстояние 1 (в двойката O-T), тази опция не е подходяща:

T - 11111 T - 11111 T - 11111

5) за втория отговор 11100 получаваме минималното разстояние 3 (по двойки E-T и O-T):

E - 00000 N - 00111 O - 11011

T - 11100 T - 11100 T - 11100

6) за третия отговор 00011 получаваме минималното разстояние 1 (в двойка Н-Т), тази опция не е подходяща:

E - 00000 N - 00111 O - 11011

T - 00011 T - 00011 T - 00011

7) по този начин разстоянието на Хеминг от 3 се съхранява само за отговор 2 Отговор: 2.

Друг пример за задача:

За кодиране на определена последователност, състояща се от буквите A, B, C, D и D, се използва нечетен двоичен код, което прави възможно недвусмисленото декодиране на получената двоична последователност. Ето кода: A-00, B-010, B-011, G-101, D-111. Възможно ли е да се съкрати дължината на кодовата дума за една от буквите, така че кодът все още да може да се декодира еднозначно? Кодовете за останалите букви не трябва да се променят. Изберете верният отговор.

1) за буквата Б - това е невъзможно

3) за буква B - за буква G - 01

Решение (1 начин, проверка на условията на Fano):

8) за недвусмислено декодиране е достатъчно условието на Фано или обратното условие на Фано да е изпълнено;

9) проверяваме последователно опции 1, 3 и 4; ако нито един от тях не работи, ще трябва да изберете опция 2 („това е невъзможно“);

10) проверете Опция 1: A-00, B-01, B-011, G-101, D-111.

«(кодът на буквата В съвпада с началото на кода на буквата В);

„Обратното“ условие на Фано не е изпълнено(кодът на буквата В съвпада с края на кода на буквата D); следователно тази опция не е подходяща;

11) проверете Вариант 3: A-00, B-010, B-01, G-101, D-111.

« директно ”Условието на Фано не е изпълнено(кодът на буквата C съвпада с началото на кода на буквата B);

« обратното ”Условието на Фано не е изпълнено(кодът на буквата В съвпада с края на кода на буквата G); следователно тази опция не е подходяща;

12) проверете вариант 4: A-00, B-010, B-011, G-01, D-111.

« директно ”Условието на Фано не е изпълнено(кодът на буквата G съвпада с началото на кодовете на буквите B и C);
но "Обратното" условие на Фано е изпълнено(кодът на буквата G не съвпада с края на кодовете на останалите букви); така че тази опция приляга; верният отговор е 4.

Пример за работа: demo_12

За кодиране на определена последователност, състояща се от буквите A, B, C, D и D, беше решено да се използва неравномерен двоичен код, който позволява недвусмислено декодиране на двоичната последователност, появяваща се от приемащата страна на комуникационния канал. Използвал е кода : A – 1, B – 000, B – 001, G – 011.
Посочете коя кодова дума трябва да бъде кодирана с буква D. Дължината на тази кодова дума трябва да бъде възможно най-малката. Кодът трябва да отговаря на свойството недвусмислено декодиране.

Решение:

13) отбележете, че за известна част от кода условието на Фано е изпълнено - нито една кодова дума не е началото на друга кодова дума

14) ако D = 00,такава кодова верига съвпада с началото на B = 000 и B = 001 000000: може да е DDD или BB; така че първият вариант не пасва

15) ако D = 01, такава кодова верига съвпада с началото Г = 011, не е възможно да се декодира еднозначно веригата 011: може да бъде ДА или Y; така че вторият вариант също е не пасва

16) ако D = 11, условието на Фано също е нарушено: кодовата дума A = 1 съвпада с началото на кода на буквата D,невъзможно е да се декодира еднозначно веригата 111: може да е ДА или ААА; трети вариант
не пасва

17) за четвъртия вариант, D = 010, условието на Фано не е нарушено;верен отговор 4 .

Друг пример за задача:

За предаване на съобщение по комуникационен канал, състоящ се само от буквите A, B, C, D, беше решено да се използва код с неравномерна дължина: A = 0, B = 10, C = 110. Как да кодирате
буква Г, така че дължината на кода да е минимална и да се допуска недвусмисленото разделяне на кодираното съобщение на букви?

Решение (вариант 1, метод на избор):

1) разгледайте всички опции в реда на увеличаване на дължината на кода на буквата G

2) да започнем с Г = 1; Оказва се, че съобщението "10" може да бъде декодирано по два начина:
как GA или B,следователно тази опция не е подходяща

3) следващата най-дълга опция G = 11; в този случай съобщението "110" може да бъде декодирано
как GA или B,следователно тази опция също не е подходяща 4) трети вариант, G = 111 , дава недвусмислено декодиране във всички комбинации от букви, следователно ... отговорът е 3.

Друг пример за задача:

За да кодираме буквите A, B, C, D, решихме да използваме двуцифрени последователни двоични числа (съответно от 00 до 11). Ако кодирате поредица от знаци BAVG по този начин и запишете резултата в шестнадесетичен код, получавате

Решение:

18) от условието буквените кодове са: A - 00, B –01, C - 10 и D - 11, кодът е еднакъв

19) BAVG последователността е кодирана, както следва: = 1001011

20) разделяме такъв запис на тетради отдясно наляво и превеждаме всяка тетрада в шестнадесетичната система (тоест първо в десетична и след това заменяме всички числа от 10 до 15 с буквите A, B, C, D, E , F); получаваме 1001011 = 0 = 4B16 Правилният отговор е 1.

Друг пример за задача:

Черно-бяла растерна карта се кодира ред по ред, започвайки от горния ляв ъгъл и завършвайки в долния десен ъгъл. Когато е кодиран, 1 е черен, а 0 е бял.

За компактност резултатът е записан в шестнадесетична форма. Изберете правилния код.

1) BD9AA5 2) BDA9B5 3) BDA9D5 4) DB9DAB

Решение:

1) "разтегнете" растерното изображение във верига: първо първия (горния) ред, след това втория и така нататък:

1 ред

2 ред

3 ред

4 линия

2) в тази лента има 24 клетки, черните са запълнени с единици, а белите - с нули:

1

1

1

1

1

1

1

1

1

1

1 ред

2 ред

3 ред

4 линия

3) тъй като всяка цифра в шестнадесетичната система е разложена на точно 4 двоични цифри, ние разделяме лентата на тетради- групи от четири клетки (в този случай няма значение откъде да започне разбивката, тъй като в лентата има цял брой бележници - 6):

1

1

1

1

1

1

1

1

1

1

4) превеждайки тетрадите в шестнадесетичната система, получаваме последователно числата B (11), D (13), A (10), 9, D (13) и 5, тоест веригата BDA9D5Правилен отговор – 3.

Друг пример за задача:

Кодът за проверка на четността се използва за предаване на числа по шумен канал. Всяка от цифрите му се записва в двоично представяне, с добавяне на водещи нули до дължина 4, а сумата от елементите му по модул се добавя към получената последователност 2 (например, ако прехвърлим 23 , тогава получаваме последователността 0010 1 00110 ). Определете кой номер е бил предаден по канала във формуляра 0100011 ?

Решение:

1) първо, нека да разберем как са кодирани числата в примера; очевидно е, че се използва код с еднаква дължина; тъй като 2 знака са кодирани в 10 двоични цифри (бита), за всяка цифра се разпределят 5 бита, т.е. 2 → 00101 и 3 → 00110

2) както следва от условието, първите четири бита във всяка последователност са двоичният код на цифрата, а петият бит (бит за четност) се използва за проверка и се изчислява като "сума по модул две", тоест остатъкът на разделяне на сумата от битове на 2; тогава

2 = 00102, бит за четност (0 + 0 + 1 + 0) мод 2 = 1

3 = 00112, бит за четност (0 + 0 + 1 + 1) мод 2 = 0

3), но битът за четност е напълно не е необходимо, важно е друго нещо: петият бит във всяка пет може да се изпусне!

4) разделете дадената последователност на групи от по 5 бита всяка:

01010, 10010, 01111, 00011.

5) изхвърлете петия (последен) бит във всяка група: 0101, 1001, 0111, 0001.
това са двоичните кодове на предаваните числа: 01012 = 5, 10012 = 9, 01112 = 7, 00012 = 1.

6) по този начин числата 5, 9, 7, 1 или числото 5971.

7) Отговор: 2.

A9 Тренировъчни задачи.

№ 69 – 71

69) По комуникационния канал се предават съобщения, съдържащи само 4 букви: A, B, C, D. За кодиране на букви A, B, C се използват 5-битови кодови думи: A - 10000, B - 00101, C - 01010 За това наборът от кодови думи има следното свойство: всякакви две думи от набора се различават поне в три позиции. Това свойство е важно за декриптиране на съобщения при наличие на смущения. Коя от следните кодови думи може да се използва за буквата Г, така че определеното свойство да бъде изпълнено и за четирите кодови думи?

1) 0110 нито една от горните думи не съвпада

70) (http: // ege. *****) Единен двоичен код се използва за предаване на устойчиви на шум съобщения в азбука, която съдържа 16 различни знака. Този код удовлетворява следното свойство: всяка кодова дума съдържа четен брой единици (евентуално никакви). Каква е най-малката дължина на кодовата дума?

71) По комуникационния канал се предават съобщения, съдържащи само 5 букви A, I, K, O, T. За кодиране на букви се използва нечетен двоичен код със следните кодови думи:

А-0, И-00, К-10, О-110, Т-111.

Сред думите по-долу посочете една, чийто код може да бъде декодиран само по един начин. Ако има няколко такива думи, посочете първата по азбучен ред.

1) KAA 2) IKOTA 3) CAT 4) нито едно от съобщенията не съвпада

1. За да кодираме букви A, B, C, D, решихме да използваме двуцифрени последователни двоични числа (съответно от 00 до 11). Ако кодирате поредица от GBVA символи по този начин и напишете резултата в шестнадесетичен код, получавате:

1) 13DBCA16 3) D

2. За 5 букви от латинската азбука са дадени техните двоични кодове (за някои букви - от две
малко, за някои - от три). Тези кодове са представени в таблицата:

Определете кой набор от букви е кодиран от двоичен низ

1) baade 2) badde 3) bacde 4) bacdb

3. За да кодирате съобщение, съдържащо само буквите A, B, C, D и E, използвайте
двоичен код с неравномерна дължина:

Което (само едно!) от четирите получени съобщения беше предадено без грешки
и може да се декодира:

4. За предаване на съобщение по комуникационен канал, състоящ се само от буквите A, B, C, D, беше решено да се използва код с неравномерна дължина: A = 0, B = 100, C = 101. Как трябва да бъде кодирана буквата G, така че дължината на кода да е минимална и да е разрешено недвусмисленото разделяне на кодираното съобщение на букви?

5. Черно-бяла растерна карта се кодира ред по ред, започвайки от горния ляв ъгъл и завършвайки в долния десен ъгъл. Когато е кодиран, 1 е черен, а 0 е бял.

За компактност резултатът е написан в осмична бройна система. Изберете правилния код 1412

6. Кодът за проверка на четността се използва за предаване на числа по шумен канал. Всяка от цифрите му е записана в двоично представяне, с добавяне на водещи нули до дължина 4, а сумата от нейните елементи по модул 2 се добавя към получената последователност (например, ако предадем 23, ще получим последователност) . Определете кой номер е бил предаден по канала като?

7. За кодиране на буквите O, H, B, A, K се използват съответно двоични кодове на числа 0, 1, 2, 3 и 4 (със запазване на една незначителна нула в случай на едноцифрено представяне). Ако кодирате поредица от знаци по този начин
ZABACHOK и запишете резултата в шестнадесетичен код, получавате:

1) 5434DA4 3) ABCD

8. За предаване на съобщение по комуникационния канал, състоящо се само от буквите A, B, C, D, беше решено да се използва код с неравномерна дължина: A = 01, B = 1, C = 001. Как да кодирате
буква Г, така че дължината на кода да е минимална и да се допуска недвусмисленото разделяне на кодираното съобщение на букви?

9. За предаване на съобщение по комуникационен канал, състоящ се само от буквите A, B, C, D, беше решено да се използва код с неравномерна дължина: A = 0, B = 100, C = 110. Как трябва да бъде кодирана буквата G, така че дължината на кода да е минимална и да е разрешено недвусмисленото разделяне на кодираното съобщение на букви?

Работата на електронните компютри за обработка на данни се превърна във важен етап в процеса на подобряване на системите за управление и планиране. Но този метод за събиране и обработка на информация е малко по-различен от обичайния, поради което изисква трансформация в система от символи, която компютърът може да разбере.

Какво е кодиране на информация?

Кодирането на данни е задължителна стъпка в процеса на събиране и обработка на информация.

По правило код означава комбинация от знаци, която съответства на предаваните данни или някои от техните качествени характеристики. А кодирането е процесът на съставяне на криптирана комбинация под формата на списък от съкращения или специални знаци, които напълно предават оригиналното значение на съобщението. Шифроването понякога се нарича и криптиране, но си струва да знаете, че последната процедура включва защита на данните от хакване и четене от трети страни.

Целта на кодирането е да представи информация в удобен и сбит формат, за да се улесни предаването и обработката на изчислителни устройства. Компютрите работят само с информация в определена форма, така че е толкова важно да не забравяте за това, за да избегнете проблеми. Схематичната диаграма на обработка на данни включва търсене, сортиране и подреждане, а кодирането се извършва в нея на етапа на въвеждане на информация под формата на код.

Какво е декодиране на информация?

Въпросът какво е кодиране и декодиране може да възникне от потребителя на компютър по различни причини, но във всеки случай е важно да се предаде правилна информация, която ще позволи на потребителя да напредне успешно в потока на информационните технологии. Както можете да си представите, след обработката на данните се получава изходният код. Ако такъв фрагмент бъде дешифриран, тогава се формира първоначалната информация. Тоест декодирането е обратното на криптирането.

Ако по време на кодирането данните приемат формата на символни сигнали, които напълно съответстват на предавания обект, тогава по време на декодирането предаваната информация или някои от нейните характеристики се премахват от кода.

Може да има няколко получатели на криптирани съобщения, но е много важно информацията да попадне в техните ръце и да не се разкрива по-рано от трети страни. Ето защо си струва да се проучат процесите на кодиране и декодиране на информация. Те помагат за обмен на поверителна информация между група събеседници.

Кодиране и декодиране на текстова информация

Когато натиснете клавиш на клавиатурата, компютърът получава сигнал под формата на двоично число, чието декодиране може да се намери в кодовата таблица - вътрешното представяне на знаци в компютър. ASCII таблицата се счита за стандарт в целия свят.

Не е достатъчно обаче да знаете какво представляват кодирането и декодирането, трябва също така да разберете как се намират данните в компютъра. Например, за да съхрани един символ от двоичен код, електронен компютър разпределя 1 байт, тоест 8 бита. Тази клетка може да приеме само две стойности: 0 и 1. Оказва се, че един байт ви позволява да шифровате 256 различни знака, защото това е броят на комбинациите, които могат да бъдат направени. Тези комбинации са ключовата част от ASCII таблицата. Например буквата S е кодирана като 01010011. Когато я натиснете на клавиатурата, данните се кодират и декодират и получаваме очаквания резултат на екрана.

Половината от таблицата със стандарти ASCII съдържа кодове за цифри, контролни знаци и латински букви. Друга част от него е изпълнена с национални знаци, псевдографски знаци и символи, които не са свързани с математиката. Ясно е, че тази част от таблицата ще се различава в различните страни. Цифрите също се преобразуват в двоични, когато се въвеждат, съгласно стандартното обобщение.

Кодиране на числа

Подобен метод за кодиране на точките на изображението се използва в печатарската индустрия. Само тук е обичайно да се използва четвъртият цвят - черен. Поради тази причина системата за преобразуване на печат е съкратена като CMYK. Тази система използва до тридесет и два двоични бита за представяне на изображения.

Методите за кодиране и декодиране на информация предполагат използването на различни технологии в зависимост от вида на входните данни. Например, графичните изображения с шестнадесет-битови двоични кодове се наричат ​​High Color. Тази технология дава възможност да се прехвърлят на екрана до двеста петдесет и шест нюанса. Чрез намаляване на броя на участващите битове, използвани за криптиране на точките на графично изображение, вие автоматично намалявате количеството пространство, необходимо за временно съхранение на информация. Този метод на кодиране на данни обикновено се нарича индекс.

Аудио кодиране

След като разгледахме какво представляват кодирането и декодирането и методите, лежащи в основата на този процес, си струва да се спрем на такъв въпрос като кодиране на аудио данни.

Звуковата информация може да бъде представена под формата на елементарни единици и паузи между всяка двойка от тях. Всеки сигнал се преобразува и съхранява в паметта на компютъра. Извеждат се звуци, с помощта на които се използват криптирани комбинации, съхранени в паметта на компютъра.

Що се отнася до човешката реч, много по-трудно е да се кодира, тъй като се отличава с различни нюанси и компютърът трябва да сравнява всяка фраза със стандарта, въведен преди това в паметта му. Разпознаването ще се случи само когато изречената дума бъде намерена в речника.

Двоично кодиране на информация

Има различни техники за прилагане на такава процедура като кодиране на цифрова, текстова и графична информация. Декодирането на данни обикновено следва обратната технология.

При кодиране на числа се взема предвид дори целта, за която цифрата е въведена в системата: за аритметични изчисления или просто за извеждане. Всички данни, кодирани в двоичен код, се криптират с помощта на единици и нули. Тези знаци се наричат ​​още битове. Този метод на кодиране е най-популярен, тъй като е най-лесният за организиране от гледна точка на технологията: наличието на сигнал - 1, отсъствието - 0. Двоичното криптиране има само един недостатък - дължината на комбинациите от знаци. Но от техническа гледна точка е по-лесно да владеете куп прости, подобни компоненти, отколкото малък брой по-сложни.

Предимства на двоичното кодиране

  • Тази форма на представяне на информация е подходяща за различни видове информация.
  • По време на трансфера на данни не възниква грешка.
  • Много по-лесно е компютърът да обработва данни, кодирани по този начин.
  • Необходими са устройства с две състояния.

Недостатъци на двоичното кодиране

  • Голяма дължина на кодовете, което донякъде забавя тяхната обработка.
  • Трудност при възприемането на бинарни комбинации от лице без специално образование или обучение.

Заключение

След като прочетете тази статия, вие успяхте да разберете какво е кодиране и декодиране и за какво се използва. Може да се заключи, че използваните техники за преобразуване на данни са напълно зависими от вида на информацията. Това може да бъде не само текст, но и числа, изображения и звук.

Кодирането на различна информация дава възможност да се унифицира формата на нейното представяне, тоест да се направи еднакъв вид, което значително ускорява обработката и автоматизацията на данните при по-нататъшно използване.

В електронните компютри най-често се използват принципите на стандартното двоично кодиране, което преобразува оригиналната форма на представяне на информацията във формат, който е по-удобен за съхранение и по-нататъшна обработка. При декодиране всички процеси протичат в обратен ред.

Но не можете да го предадете на всички с глас. Следователно, дълго време моментът на кодиране на данните беше важен, за да могат да бъдат прочетени от тези, за които е предназначено. Постепенно тяхното криптиране също стана актуално. Беше необходимо да се постави в съобщението информация, която е разбираема за техните собствени и не разкрива значението на непознати. Ще говорим за всичко това, като разберем какво представляват кодирането и декодирането.

Разбиране на терминологията

Не можете без него. Когато говорят за кодиран текст, това означава, че с него е свързан различен набор от знаци. Това може да се използва за повишаване на надеждността или поради простата причина, че каналът може да използва само ограничен брой знаци. Например, двоичният код, на който работят съвременните компютри, е изграден около единици и нули.

Информацията може да бъде кодирана в определени знаци и за да се запази. Пример за това са резултатите от анализи, които съдържат показатели за човешкото тяло. Но най-популярният въпрос е: "Какво е кодирането и декодирането в компютърните науки?" Ще търсим отговор на него.

Относно смисъла

Преди това процесът на кодиране и декодиране на информация играеше спомагателна роля и не се разглеждаше като отделна област на математиката. Но с появата на електронните компютри ситуацията се промени значително. Сега кодирането е централен проблем при решаването на широк спектър от практически проблеми в програмирането и следователно прониква във всички информационни технологии. И така, използвайки го:

  1. Информацията е защитена от неоторизиран достъп.
  2. Осигурява устойчивост на шум по време на предаване по канали за предаване на данни.
  3. Представена е информация от произволен характер (графики, текст, числа) в паметта на компютъра.
  4. Съдържанието на базите данни е компресирано.

Относно азбуката

Говорейки за това какво е кодиране и декодиране, е трудно да се пренебрегне основата на всичко това. А именно азбуката. Има два вида - източник и код. Първият съдържа първоначална информация. Кодирани данни означава променени данни, които обаче могат, ако има ключ, да ни предават криптирано съдържание. В компютърните науки за това се използва двоичен код, който се основава на азбука, състояща се от нула и единица.

Да вземем бърз пример. Да кажем, че имаме две азбуки (A и B), които се състоят от краен брой знаци. Да кажем, че изглеждат така: A = (A0, A1, A2… .A33), B = (B0, B1, B3… B34). Елементите на азбуката са буквите. Докато техният подреден набор се нарича дума. Има определена дължина. Първата буква на думата се нарича начало (префикс), докато последната буква се нарича край (постфикс). Може да има различни правила за изграждане на конструкции. Например, някои системи за кодиране на информация изискват да има празнина между думите, докато други правят без нея. Като цяло азбуката е необходима, за да се изгради универсална система за показване, съхранение, обработка и предаване на информация. В този случай се осигурява определено съответствие между различни сигнали и елементи от съобщения, които са криптирани в тях.

Работа с данни

Когато информацията се преобразува в първоначалната си форма, процесът, който се случва по време на този процес, се нарича декодиране. Трябва да се изпълни по отношение на всички данни, които са били криптирани. В този случай се използва така нареченото обратно картографиране (биекция). Нека да разгледаме ситуацията с двоична система. Всичките й кодови думи имат еднаква дължина. Следователно кодът се нарича униформен (блок). В този случай определено заместване действа като кодираща функция. Вземете азбучната система по-горе като пример. Много елементарни кодове се използват за обозначаване на определени последователности.

Да кажем, че имаме A0 = (A, B, C, D) и B0 = (1, 0). Как може да се представи това на компютър? И използвайки тази последователност: A = 00, B = 01, C = 10, D = 11. Както можете да видите, всеки знак има определено кодиране. Референтната информация за кодиращата азбука се въвежда в компютърното оборудване и то започва да чака входящи сигнали. Идва нула, следвана от друга - да, така че това е буквата А. Ако направим паралели с набора от думи в текстов редактор, тогава трябва да се отбележи, че ще бъде предадена не само една буква, но и съответната реакция към нея също ще бъде пуснат. Например, определена последователност от светодиоди на монитора ще светне, където се показват всички въведени знаци.

Специфика на работата

Говорейки за примери за кодиране и декодиране на информация, трябва да се отбележи, че разглежданата система не е едно към едно. Например, буквата А може да съответства на комбинация не само от 00, но и от 11, 10 или 01. Но трябва да се има предвид, че може да има само едно нещо. Тоест, само определен символ се присвоява на комбинация. Ако схемата за кодиране предполага разделянето на която и да е дума на елементарни компоненти, тогава тя се нарича разделяема. В случаите, когато една буква не действа като начало на друга, това е префиксният подход. Това се отнася за проблеми със софтуерни и хардуерни компоненти. Архитектурата също има известно влияние върху кодирането, но поради големия брой опции за изпълнение е доста проблематично да се разгледа.

Кодиране буква по буква

Това е най-простият подход. Ако говорим за езици за кодиране на информация, тогава, може би, това е най-популярният вариант. В ограничена версия беше обсъдено по-горе. Нека да разберем как изглежда кодът без разделители. Да кажем, че имаме азбука (оригинал), в която са поставени всички руски букви. За кодиране се използват десетични цифри. Тук A = 1 и I = 33. По този начин последователността от букви АЯЯА може да се представи като 133331. Ако има желание да се направи азбуката еднаква, тогава е необходимо да се направят определени промени. Така че за първите девет букви трябва да добавите нула. И примерът на разгледаната от нас ANYA се превръща в 01333301.

Неравномерно кодиране

По-рано разгледаната опция се счита за удобна. Но в определени случаи е по-умно да залагате на неравномерни кодове. Това има смисъл, когато различни букви в оригиналния текст се появяват с различна честота. Следователно има смисъл да се кодират по-чести знаци с кратки обозначения и редки знаци с дълги. Нека изградим двоично дърво от буквите на руската азбука. И за допълнение, ние вземаме специални знаци. Най-често се използват буквите, така че ще започнем с тях: A - 0, B - 1, C - 10, D - 11 и т.н. И едва след тях ще се използват въпросителни, проценти, двоеточия и други. Въпреки че, може би, на първо място, все пак трябва да поставите запетаи и точки.

При условието на Фано

Теоремата гласи, че всеки код (префикс и униформен) допуска възможността за недвусмислено кодиране. Да кажем, че използваме обсъждания по-рано пример с 01333301. Започваме да се движим надясно. 0 не ни дава нищо. Но 01 ви позволява да идентифицирате буквата A. Нека леко променим първоначалния код и го представим като 01 333301. След това изберете първия I, втория и още един A. В резултат имаме 01 33 33 01. Въпреки че оригиналът кодът беше обединен, но сега можем с лесен за декодиране, защото знаем какво има в него. А именно - И аз съм А. В същото време имайте предвид, че винаги се дешифрира недвусмислено и няма интерпретации в рамките на приетата система, поради което е възможно да се осигури висока надеждност на предаваната информация. Но как работят компютрите?

Функционирането на електронните компютри

Кодирането и декодирането на компютърни сигнали се основава на използването на така наречените ниски и високи сигнали, които съответстват на нула и единица в логическото измерение. Какво означава? Да кажем, че имаме микроконтролер. Ако към един от неговите входове се подаде ниско напрежение от 1,5 V, тогава се счита, че е предадена логическа нулева стойност. Но ако се предаде 5 V, тогава едно ще бъде записано в съответната клетка на паметта. В този случай е необходимо да се постигне съгласие между източника на информация и комуникационния канал. Като цяло, когато създавате електроника, е необходимо да се вземат предвид голям брой различни точки. Това са енергийните изисквания и вида на предаваната информация (дискретна или непрекъсната) и много други. В този случай данните трябва постоянно да се трансформират по такъв начин, че да могат да се предават по комуникационни канали. Така че, в случай на двоична технология, сигналите се представят под формата на напрежение, приложено към входа на транзистори или други компоненти. По време на декодирането данните превеждат съобщението в разбираема за получателя форма.

Минимално съкращаване

На практика се оказа изключително важно кодът на съобщението да има минимална дължина. Първоначално може да изглежда, каква е разликата - шест, осем или шестнадесет бита се използват за кодиране? Но разликите са незначителни, ако се използва една дума. И ако милиарди? За щастие можете да настроите азбучното кодиране за всички поставени изисквания. Но ако нищо не се знае за множеството, тогава е доста трудно да се формулира оптимизационният проблем. Но на практика, като правило, все още можете да получите допълнителна информация. Нека разгледаме малък пример. Да кажем, че имаме съобщение на естествен език. Но той е кодиран и не можем да го прочетем. Какво ще ни помогне в задачата за декриптиране? Един от възможните варианти е лист хартия, върху който се разпределя вероятността от появата на буквите. Благодарение на това изграждането на оптимален код по отношение на де/кодирането става възможно с помощта на точна математическа формулировка и строго решение.

Нека анализираме един пример

Да кажем, че имаме определена разделяема схема на азбучно кодиране. Тогава всички производни, които представляват подредено множество, също ще имат това свойство. Освен това, ако дължината на елементарните кодове е равна, тогава тяхната пермутация не влияе върху дължината на цялото съобщение. Но ако размерът на предаваната информация директно зависи от последователността на буквите, това означава, че са използвани компоненти с различна дължина. Освен това, ако има конкретно съобщение и неговата схема за кодиране, тогава е възможно да се избере такова решение на проблема, когато дължината му е минимална. Как може да се постигне това? Нека разгледаме подход, използващ алгоритъм за присвояване на елементарни кодове, който ни позволява ефективно да подходим към решаването на проблема с ефективността:

  1. Буквите трябва да бъдат сортирани в низходящ ред на количественото им появяване.
  2. Необходимо е да се поставят елементарните кодове в ред на увеличаване на тяхната дължина.
  3. И като заключение е необходимо да поставите компонентите в оптимален ред, така че най-честите знаци да заемат най-малко място.

Като цяло системата е неусложнена. Ако работите с малки количества данни. Но при съвременните компютри това е доста проблематично за изпълнение поради значителното количество информация.

Заключение

Така че ние разгледахме какво представлява системата за кодиране и декодиране на информация, какво може да бъде, какво сега съществува в компютърните науки, както и много други въпроси. Но все пак трябва да се разбере, че тази тема е изключително обемна, една статия не е достатъчна за това. Като продължение на темата можете да разгледате криптиране на данни, криптография, промяна на показването на информация в различна електроника, нива на нейната обработка и много други точки. Но областта на компютърните науки с право се счита за една от най-трудните, така че няма да е възможно да се изучава всичко това бързо. Освен това теоретичните знания тук, ох как, не са равни на практическите умения. А именно, последните осигуряват висококачествен резултат.