Загальні принципи кодування інформації в комп'ютері. Одиниці виміру кількості інформації. Кодування інформації в комп'ютері

Внутрішнє представлення в комп'ютері інформації будь-якого виду є двійковим.

· біт   - мінімальна одиниця кількості   інформації, дорівнює одному двійковому розряду.

Смислове значення біта можна уявити як:

Вибір відповіді «так» чи «ні» на поставлене запитання;

- «є сигнал / немає сигналу»;

Істина / брехня.

Німецькі криптологи, щоб краще захистити свої повідомлення, вирішили не застосовувати один і той же ключ шифрування до всіх повідомлень дня. Вони вважають за краще міняти орієнтацію скремблера на кожне повідомлення. Однак, оскільки це зміна орієнтації не з'являється в кодової книзі, вони повинні передавати нову орієнтацію роторів кожен раз, коли вони відправляють інформацію в приймач повідомлень. Це зашифровано відповідно до ключа дня, набирається двічі поспіль, щоб одержувач не здогадувався, що помилки не було.

Принцип обертання глушників дозволяє приховати це повторення, так як ті ж три букви, надруковані двічі поспіль, не дають однакового зашифрованого результату. Таким чином, ключ шифрування дня служить тільки для передачі ключа, специфічного для кожного повідомлення.

Одним бітом можна закодувати два об'єкти.

Біт як одиниця інформації занадто мала, тому постійно використовується інша більш поширена одиниця кількості інформації, похідна від біта - байт.

· байт   - мінімальна одиниця читання / запису пам'яті комп'ютера, що дорівнює 8 бітам:

1 Байт = 8 біт.

При цьому біти нумеруються справа наліво, починаючи з 0-го розряду.

Середньої професійної освіти

Маріан Режевській, 23 роки, є одним з найталановитіших математиків польського офісу. Він почав грати в гонку проти годин. Дуже рано він був зацікавлений в репетиції повідомлень, посланих німцями, намагаючись використати недоліки. Він виявляє, що кожному з повідомленням передує повідомлення з 6 листами, і саме на цих 6 листах він фокусує свою увагу на визначенні ключа дня. З іншого боку, німці, впевнені в зміцненні безпеки Енігми, не розуміють, що вони дійсно зробили його вразливим.

Одним байтом можна закодувати 256 об'єктів ( 2 8 = 256 ), При цьому кожному з 256 об'єктів буде відповідати одне з 256 8-значних двійкових чисел.

1 кілобайт = 1 Кб = 1 К = 1024 байта.

1 мегабайт = 1 Мб = 1 М = 1024 Кб.

1 гігабайт = 1 Гб = 1 Г = 1024 Мб.

1 терабайт = 1 Тб = 1 Т = 1024 Гб.

Подання різних видів інформації в комп'ютері

Для кожного зашифрованого ключа існує відповідність між 1-й і 4-й буквою між 2-м і 5-м, між 3-м і 6-м, так як вони є двома шифрами однієї і тієї ж букви. Ця кореляція дозволяє вивести вказівку на початкове позиціонування роторів. Якщо протягом дня відправляється досить повідомлень, Реевскі вдається встановити повну відповідність між алфавітом першої та четвертої літери.

Реевскі цікавлять рядки букв, які пов'язують літери першого алфавіту з буквами другого. Потім він обчислює кількість посилань, що зв'язують кожен рядок. Він робить те ж саме з посиланнями між алфавітами 2-й і 5-й букв, між буквами 3-го і 6-го букв. Ці ланцюги змінюються щодня, іноді короткі, іноді довгі, що коливаються в залежності від ключа дня.

Види інформації, оброблювані в комп'ютері:

числова;

Текстова,

графічна,

Звукова.

Незважаючи на вихідну форму, вся інформація в комп'ютері представляється в числовій формі.

    Кодування числової інформації в ПК

Існує кілька варіантів представлення чисел в ПК. Числа можуть бути цілі і дробові, позитивні і негативні.

Реевскі розуміє, що якщо таблиця з'єднань впливає на склад ланцюгів, то існує елемент ланцюга, який залежить виключно від перешкод, його установки і орієнтації: довжина ланцюжка, тобто кількість посилань, які його складають. Дійсно, незважаючи на перестановку букв таблиці з'єднань, кількість посилань залишається незмінним.

Завдання раптово стає менш амбіційною. Це те, що він робить, чому допомагає команда, відповідальна за перерахування всіх довжин рядків, що генеруються кожним становищем. Через рік він отримує вичерпну репертуар. Надалі він може посилатися на цей файл, щоб знайти макет і орієнтацію перешкод, відповідних кожній клавіші дня.

Цілі позитивні числа   від 0 до 255 можна уявити безпосередньо в двійковій системі числення, при цьому вони будуть займати один байт в пам'яті комп'ютера.

Двійковий код

Цілі негативні числа   представлені особливим чином: знак негативного числа кодується зазвичай старшим бітом, нуль інтерпретується як плюс, одиниця як мінус. Оскільки один біт буде зайнятий, то одним байтом можна закодувати цілі числа в інтервалі від -127 до +127. Такий спосіб представлення цілих чисел називається прямим кодом .

Звідти він повинен тільки визначити з'єднання таблиці з'єднань. Потім він вводить зашифрований текст в машину. Текст, одного разу дешифрований, не є повністю читабельним, тому що з'єднання таблиці з'єднань відсутні, але повідомлення все ще дешифрується і з'єднання виводяться звідти.

Через кілька років Реевскі вдалося повністю трансформувати німецькі повідомлення. Вони можуть для кожної настройки перешкод автоматично шукати свою орієнтацію. Вони лежать в основі механізації шифрування. Польща, у якої більше немає коштів для створення «бомб», здатних розшифрувати нову «Енігму» і неминуче знають німецьке вторгнення, звертається до союзників, передаючи до Франції і Великобританії весь його робіт протягом літа.

Також існує спосіб кодування від'ємних цілих чисел в зворотному коді . В цьому випадку позитивні числа збігаються з позитивними числами в прямому коді, а негативні виходять в результаті віднімання від двійкового числа 1 0000 0000 відповідного позитивного числа, наприклад, число -7 отримає код 1111 1000. Цілі числа великих діапазонів представляються в двобайтових і чотирьохбайтового адресах пам'яті .

Англійські криптоаналитики, таємно зібрані в парку Блетчлі, де знаходяться Державний кодекс і чисельна школа, вдосконалюють відкриття Реевского, тим самим розшифровуючи вирішальну інформацію під час битви за Британію. Якщо польському студенту цікавили слабкості, викликані ключем, повторенням на початку кожного повідомлення, Алан Тьюринг, інженер-математик, розглядає типову структуру деяких повідомлень в залежності від часу відправлення та оператора.

Вивчаючи розшифровані повідомлення, він розуміє, що повідомлення регулюються, тому деякі слова повторюються. Таким чином, в 6: 05 повідомлення, відправлені майже завжди, містять слово «змочування». На основі цих «ймовірних слів», які насправді здогадуються, Тьюринг встановлює правдоподібне відповідність між передбачуваним зрозумілим текстом і відомим зашифрованим текстом, пов'язуючи букви в циклі, як ланцюга Реевского. Він швидко розуміє, що завдяки цим словам він зможе подолати Енігму.

В обчислювальних машинах застосовуються дві форми подання дрібних   довічних чисел :

    в природному стані або формі з фіксованою комою (крапкою);

    в нормальній формі або формі з плаваючою комою (крапкою).

З фіксованою комою всі числа зображуються у вигляді послідовності цифр з постійним для всіх чисел становищем коми, що відокремлює цілу частину від дробової.

Для кожної можливої ​​регулювання роторів бомба Тьюринга виконує ланцюжок логічних висновків, заснованих на шпаргалах і їх петлях. Він імітує відповідність між чітким текстом і зашифрованим текстом, щоб спробувати ключ. При кожному виникненні протиріччя бомба витісняє цю настройку і переходить до наступного, змінюючи макети машини. Коли всі з'єднання збігаються і дають тільки одна відповідь, ключ перевіряється вручну. Помилки німецьких операторів дозволяють значно зменшити кількість можливих ключів.

Більш ефективна, ніж польська бомба, англійська бомба подолала німецький машинний кодекс, зігравши важливу роль в ослабленні нацистського режиму. Поряд з досягненнями Тьюринга криптоаналітиків Блетчлі Парк вдалося зламати фігуру Лоренца, яка використовується для кодування повідомлень між Гітлером і його генералами.

приклад . Нехай число представлено у вигляді m: n, де m - фіксоване число розрядів в цілій частині числа (до коми), n - фіксоване число розрядів у дробовій частині числа (після коми).

Наприклад, m = 3, n = 6, тоді числа, записані в таку розрядну сітку, мають вигляд:

213, 560000; + 004, 021025; - 000, 007345.

Однак таке уявлення використовується в основному для цілих чисел, оскільки при виході результату будь-якої операції за кордону такий розрядної сітки подальші обчислення втрачають сенс.

Фігура Лоренца, занадто тонка для бомб, повинна бути розбита вручну. Він просвердлений до сих пір через помилки німецького оператора, який двічі повторює одне і те ж повідомлення з деякими трюками, використовуючи той же ключ шифрування. Щоб механізувати це відкриття, Макс Ньюман розробляє перший в світі електронний комп'ютер, попередник сучасного комп'ютера: машина Колоса. Він заснований на універсальній машині Тьюринга, призначеної для виконання серії математичних операцій, даних перфорованими стрічками, наприклад, для механічних піаніно.

З плаваючою комою  всі числа зображуються у вигляді двох груп цифр. Перша група цифр називається мантиссой, друга - порядком. Причому абсолютна величина мантиси повинна бути менше 1, а порядок - цілим числом.

У загальному вигляді число в формі з плаваючою комою може бути представлено у вигляді:

N = MP r

Це дозволяє знаходити чистий текст із зашифрованого тексту за допомогою прогресивного дешифрування без необхідності відновлення ключа. У той час як Колос, як і відкриття Тьюринга, залишається класифікованих, він відкриває шлях до нової орієнтації криптографії, яка тепер може спиратися на ефективність і гнучкість програмованих комп'ютерів, прискорюючи гонку до піддається звільнення коду і підживлюючи суперництво між дизайнерів і декодерів. Криптология знаходиться в індустріальну епоху.

Які реальні можливості? І коли ми нарешті відкриємо перший квантовий комп'ютер? Ми поставили ці запитання Лорану Самінадаару, досліднику Інституту Нееля в відділі нанонауки і спеціалізуємося на мезоскопічних.

  • Яка ваша область навчання?
  • Як ви думаєте, яка різниця між квантовим комп'ютером і звичайним комп'ютером?
Це фундаментальна проблема. Це все цікавить квантовий комп'ютер.

де M  - мантиса числа (M < 1);

r  - порядок числа (r - ціле число);

P  - основа системи числення.

приклад . Числа з попереднього прикладу мають вигляд:

0, 21356 10 3 ; + 0, 402102510 1 ; - 0, 73450010 -2 .

Нормальна форма подання має величезний діапазон відображення чисел і є основою в сучасних ПК.

Це не просто друкарська гра! Коли ваша система являє собою стек станів, це трохи схоже на те, що ви виконуєте паралельні обчислення, тому при деяких обчисленнях ви будете набагато швидше. Якби було тільки це, це було б не дуже цікаво.

Так чому ж це привернуло стільки ентузіазму? Тому що це дає вам можливість повністю змінити деякі алгоритми, тобто як виконувати певні обчислення. Припустимо, ви хочете зробити операцію над числом, наприклад, факторингом числа в добутку простих факторів. Ця проблема може здатися дуже простий, ми все це зробили в коледжі. Проте, для класичного комп'ютера ця проблема складна. Просто тому, що кількість операцій, які йому потрібно буде зробити, буде експоненціально зростати з розміром номера до факторизації.

Крім двійкової системи числення також широке поширення набула двійковій-десяткова система числення. У цій системі все десяткові цифри окремо кодуються чотирма двійковими цифрами і в такому вигляді послідовно записуються один за одним.

полем  називають послідовність декількох біт або байтів.

Безпека шифрування повністю заснована на цьому аспекті проблеми. Там це стає дуже цікавим, тому що більше немає ключа, щоб побачити, що ви хотіли відправити! «Хтось, хто знає, як створити квантовий комп'ютер, знає, як створити практично всі коди, які існують прямо зараз».

  • Отже, ми вважаємо, що існує тільки одна квантова комп'ютерна модель?
  • Або можливі кілька моделей?
Існують варіанти навколо алгоритмів, але велика різниця виникає, коли ви передаєте біти з 0 і 1 на цю суперпозицію 0 або.

У ПК можуть оброблятися поля постійної і змінної довжини.

Поля постійної довжини :

слово - 2 байта;

подвійне слово - 4 байта;

розширене слово - 8 байт;

слово довжиною 10 байт.

Поля змінної довжини можуть мати будь-який розмір від 0 до 256 байт, але обов'язково кратний цілому числу байтів.

1) Подвійне слово - 4 байта = 32 біта

Є проблеми, які комп'ютери не можуть вирішити, наприклад, відома проблема «комерційного мандрівника». Це складна проблема для класичного комп'ютера, тому що, коли ви збільшуєте число міст, кількість елементарних обчислень, необхідних для вирішення проблеми, зростає експоненціально.

Грубо кажучи, можна сказати, що він пробує все дороги і що він виглядає тим, що є найкоротшим, тому що іншого виходу не існує. Те, що дійсно мотивувало наукове співтовариство, було факторингом в прості числа. Величезні суми грошей були вкладені в промисловості і військовій, які, очевидно, зацікавлені дуже близько до нього, тому що, якщо вони можуть розкладання на прості числа продуктів в той час, «Поліном», вони можуть розірвати всі коди, С точки зору криптографії, якщо ви можете зробити це, там більше не будь-який код, який потрібно, ви можете розбити всі коди, які в даний час розроблені, в будь-якому випадку, було б уявити собі інші.

3) Слово довжиною 10 байт - 80 біт

порядок

мантиса

При цьому S- поле знака:

якщо S = 0, число  0

якщо S = 1, число< 0.

Для автоматизації роботи з даними, що відносяться до різних типів, дуже важливо уніфікувати їх форму представлення. Для цього використовується кодування, тобто вираз даних одного типу через дані іншого типу. Своя система кодування існує й в обчислювальній техніці - вона називається двійковимкодуваннямі заснована на представленні даних послідовністю усього двох знаків: 0 та 1. Ці знаки називаються двійковими цифрами,по англійськи - Binary Digit або скорочено Bit  (Біт). Одним бітом можуть бути виражені два поняття: 0 або 1. Якщо кількість бітів збільшити до двох, то вже можна висловити чотири різних поняття:

В даний час порушення коду - дуже тривала операція. Якщо ви зробите це набагато коротше, він буде виграний. Іншим фундаментальним аспектом проблеми є безпека передачі самої інформації. Якщо ви використовуєте квантову систему для кодування і передачі інформації, ви можете легко побачити, чи була ваша передача перехоплена.

Немає способу побачити це на звичайному комп'ютері? . Ні, якщо ваша передача видно, ви не знаєте. За допомогою квантового комп'ютера, якщо хтось шпигує за нами, ми відразу бачимо це! Що може зробити квантовий комп'ютер за межами криптографії? . Тому що у нас немає алгоритму, який не можна зробити за допомогою звичайного комп'ютера. З іншого боку, для зв'язку і криптографії це життєво важливо.

00 01 10 11

Збільшуючи на одиницю кількість розрядів в системі двійкового кодування, ми збільшуємо в два рази кількість значень, яке може бути виражено в даній системі, тобто загальна формула має вигляд: N=2 , де N - кількість незалежних кодованих значень; т -розрядність двійкового кодування, прийнята в даній системі.

Кодування цілих і дійсних чисел

Цілі числа кодувати двійковим кодом просто - достатньо взяти ціле число і ділити його навпіл до тих пір, поки в залишку не утворюється нуль або одиниця. Сукупність залишків від кожного поділу, записана справа наліво разом з останнім залишком, і утворює двійковий аналог десяткового числа:

19:2 = 9 + 1, 9:2 = 4+1, 4:2=2+0, 2:2 = 1 .

Таким чином, 19 10 = 1011 2. Для кодування цілих чисел від 0 до 255 достатньо мати 8 розрядів двійкового коду (8 біт). Шістнадцять біт дозволяють закодувати цілі числа від 0 до 65 535, а 24 розряду (біта) - вже понад 16,5 мільйона різних значень. Для кодування дійсних чисел використовують 80-розрядне кодування. При цьому число попередньо перетвориться в нормалізовану форму:

3,1415926 = 0,31415926 10 1 ;

300 000 = 0,3-10 е;

123 456 789 = 0,123456789 10 10 .

Перша частина числа називається мантиссой,а друга - характеристикою.Більшу частину з 80 біт відводять для зберігання мантиси (разом зі знаком) і якийсь фіксована кількість розрядів відводять для зберігання характеристики (теж зі знаком).

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

Запис чисел з фіксованою точкою. При поданні в пам'яті комп'ютера чисел в природній формі встановлюється фіксована довжина розрядної сітки. Точку (кому) можна зафіксувати на початку, середині або наприкінці розрядної сітки. При цьому розподіл розрядів між цілою і дробовою частинами залишається незмінним для будь-яких чисел. У зв'язку з цим існує інша назва природної форми подання чисел - з фіксованою точкою (коми).У сучасних комп'ютерах ця форма використовується для представлення цілих чисел. Зазвичай цілі числа займають в пам'яті комп'ютерів один, два або чотири байти. Один, як правило, старший біт відводиться під знак числа. Знак позитивного числа "+" кодується нулем, а знак негативного числа "-" - одиницею. Цілі числа без знака в двухбайтового форматі можуть набувати значень від 0 до 2 16 -1 (до 65535), а зі знаком - від -2 15 до +2 15 -1, тобто від -32768 до 32767. Запис чисел з плаваючою точкою.  Обробка дуже великих і дуже маленьких чисел проводиться в експоненційної формі. У цьому випадку положення коми в запису числа може змінюватися. Тому уявлення в пам'яті чисел в експоненційною формі називається поданням з плаваючою точкою (коми).  Будь-яке число А  в експоненційної формі представляється у вигляді формули:

А = m А q p ,

де m A  - мантиса числа;

q  - основа системи числення;

P  - порядок числа.

Для однозначності подання чисел c плаваючою точкою використовується нормалізована форма, при якій мантиса відповідає умові:

q -1 ≤ |m А | < 1.

Це означає, що мантиса повинна бути правильної дробом і мати після коми цифру, відмінну від нуля.

Кодування текстових даних

У традиційних кодуваннях для кодування одного символу використовується 8 біт. Легко підрахувати, що такий 8-розрядний код дозволяє закодувати 256 різних символів. В якості міжнародного стандарту прийнята кодова таблиця ASCII  (American Standard Code for Information Interchange), що кодує першу половину символів з числовими кодами від 0 до 127 (рис. 1). Національні стандарти кодіровочних таблиць включають першу, міжнародну частину кодової таблиці без змін, а в другій половині містять коди національних алфавітів, символи псевдографіки і деякі математичні знаки. В даний час існують п'ять різних кодувань кирилиці: ЯКІ-8-Р (рис. 2), Windows, MS-DOS, Macintosh і ISO, що викликає труднощі при роботі з російськомовними документами.

Мал. 1. Міжнародна кодування ASCII

Хронологічно одним з перших стандартів кодування російських букв на комп'ютерах був ЯКІ-8 (Код обміну інформацією, 8-бітний). Це кодування застосовувалася ще в 70-е гг.XX в. на комп'ютерах серії ЄС ЕОМ, а з середини 80-х стала використовуватися в перших русифікованих версіях операційної системи UNIX. Найбільш поширеною в даний час є кодування Microsoft Windows, що позначається скороченням CP1251 (CP означає Code Page - кодова сторінка) (рис. 3).

Мал. 2. Кодування ЯКІ 8-Р

Мал. 3. Кодування CP1251

Від початку 90-х років, часу панування операційної системи MS DOS, залишається кодування CP866. Комп'ютери фірми Apple, що працюють під управлінням операційної системи Mac OS, використовують свою власну кодіровкуMac. Крім того, Міжнародна організація по стандартизації (International Standards Organization, ISO) затвердила в якості стандарту для російської мови ще одне кодування під названіемISO 8859-5.

gastroguru © 2017