Визначення кількості інформації, що міститься у повідомленні
Термін «інформація» може розглядатися при різних обмеженнях, які накладаються на його властивості, тобто при різних рівнях, що розглядаються. Основними вважаються такі рівні:
До кожного рівня є свої методи оцінки кількості інформації. Синтаксичний рівень передбачає для оцінки кількості інформації використання ймовірнісних методик, що беруть до уваги лише ймовірнісні інформаційні властивості та не беруть до уваги інші властивості, такі як смислове наповнення, актуальність, корисність тощо. Вироблені в ХХ столітті математичні і, зокрема, ймовірнісні методики дали можливість розробити підхід, що оцінює інформаційну кількість як міру скорочення невизначеності знання. Цей підхід, названий також імовірнісним, проголошує наступний принцип. Коли деяке повідомлення веде до скорочення невизначеності знань, то це повідомлення міститься інформація. Причому повідомлення може містити інформацію про деякі події, які можуть бути реалізовані з різним ступенем ймовірності.
Визначення кількості інформації, що міститься у повідомленні.
Формула, що дозволяє визначити кількість інформації для подій з різними ймовірностями і від дискретних інформаційних джерел, що була, була виведена американським ученим До. Шенноном у середині минулого століття. Відповідно до цієї формули кількість інформації визначається таким чином:
$I = – ∑^N_P_ilog2P_i$ (1)
- $I$ це кількість інформації.
- $N$ це кількість можливих подій, тобто повідомлень.
- $P_i$ це ймовірність окремої події, тобто повідомлення.
Знайдене за цією формулою кількість інформації може бути лише позитивною. Але оскільки ймовірність окремої події завжди менше, ніж одиниця, то, отже, вираз log2 буде негативним, а щоб отримати позитивне значення кількості інформації у наведеній вище формулі перед знаком суми поставлено мінус.
Коли ймовірність прояву будь-яких подій одна і та ж і вони здатні утворити повноцінну групу подій, тобто:
То наведена вище формула (1) може бути перетворена на формулу Р.Хартлі:
В обох формулах, тобто (1) і (2), співвідношення між інформаційною кількістю та відповідно ймовірністю або кількістю кожної події відображається за допомогою логарифму. Використання логарифмів у формулах пояснюється так. Щоб спростити міркування, використовуватимемо формулу (2). Почнемо по черзі призначати аргумент N значення, які вибираються, наприклад, з числового набору: 1, 2, 4, 8, 16, 32, 64 і так далі. Для визначення події, яке все-таки сталося з набору N подій, що мають рівну ймовірність, для всіх чисел ряду слід виконувати операції вибору з пари допустимих подій. Наприклад, для N = 1 кількість операцій дорівнює нулю, тобто можливість події дорівнює одиниці.
Для N = 2 кількість операцій дорівнює одиниці, для N = 4 кількість операцій дорівнює двом, для N = 8, кількість операцій дорівнює трьом і так далі. В результаті виходить наступний числовий ряд 0, 1, 2, 3, 4, 5, 6 і так далі, який може вважатися таким, що має відповідність зі значеннями функції I у формулі (2).Черговість числових значень, прийнятих аргументом N, є рядом, відомим у математиці у вигляді числового ряду, що утворює геометричну прогресію, а черговість значень, що приймаються функцією I, утворює числовий ряд, що є арифметичною прогресією. Це означає, що логарифм у виразах (1) і (2) визначає співвідношення між рядами, що утворюють геометричну та арифметичну прогресії, які добре відомі в математиці.
Щоб виконати кількісну оцінку будь-якої фізичної величини, слід спочатку знайти необхідну одиницю виміру, що у теорії вимірів найменування «захід». Як правило, інформацію до обробки, трансляції та зберігання піддають кодуванню. Процедура кодування виконується з допомогою спеціального алфавіту, тобто системи знаків. Інформатика, яка вивчає процеси формування, переробки, трансляції та збереження інформації за допомогою комп'ютерної (обчислювальної) техніки, головним чином, використовує двійкову систему кодування, при якій застосовується система знаків, що має всього два символи, а саме нуль і одиниця. Саме тому у наведених вище формулах основою логарифму є двійка.
Якщо виходити з ймовірнісного підходу до обчислення інформаційної кількості, то цю пару символів бінарної системи числення можна як пару різних можливих події. З цієї причини як одиниця кількості інформації вважається така інформаційна кількість, яка міститься в повідомленні, що зменшує невизначеність пізнання в два рази. Ця одиниця виміру інформації називається бітом, який розшифровується як binary digit, тобто двійкова цифра.Отже, мірою оцінки інформаційної кількості лише на рівні синтаксису, якщо виконується двійкове кодування, є один біт.
А в якості наступної величини одиниці виміру інформації прийнятий байт, який є черговістю знаків, що складається з восьми біт. В інформатиці також широко використовуються кратні байту одиниці виміру кількості інформації, проте на відміну від метричної системи заходів, де як множники кратних одиниць застосовують коефіцієнт 10n, де п = 3, 6, 9 і т. д., у кратних одиницях вимірювання кількості інформації використовується коефіцієнт 2n. Вибір цей пояснюється лише тим, що комп'ютер переважно оперує числами над десятковою, а двійковій системі числення.
Методи вимірювання кількості інформації
Інформація (Лат. informatio - Роз'яснення, виклад, набір відомостей) - базове поняття в інформатиці, якому не можна дати строгого визначення, а можна тільки пояснити:
- інформація - це нові факти, нові знання;
- інформація - це відомості про об'єкти та явища навколишнього середовища, які підвищують рівень поінформованості людини;
- інформація - це відомості про об'єкти та явища навколишнього середовища, які зменшують ступінь невизначеності знань про ці об'єкти або явища при прийнятті певних рішень.
Поняття «інформація» є загальнонауковим, тобто використовується в різних науках: фізиці, біології, кібернетиці, інформатиці та ін. При цьому в кожній науці це поняття пов'язане з різними системами понять. Так, у фізиці інформація сприймається як антиентропія (захід упорядкованості та складності системи).У біології поняття «інформація» пов'язують із доцільним поведінкою живих організмів, і навіть із дослідженнями механізмів спадковості. У кібернетиці поняття «інформація» пов'язані з процесами управління у складних системах.
Основними соціально значущими властивостями інформації є:
- корисність;
- доступність (зрозумілість);
- актуальність;
- повнота;
- достовірність;
- адекватність.
У суспільстві безперервно протікають інформаційні процеси: люди сприймають інформацію з навколишнього світу з допомогою органів чуття, осмислюють її і приймають певні рішення, які, втілюючись у реальні дії, впливають на світ довкола себе.
Інформаційний процес - Це процес збору (прийому), передачі (обміну), зберігання, обробки (перетворення) інформації.
Збір інформації — це процес пошуку та відбору необхідних повідомлень із різних джерел (робота зі спеціальною літературою, довідниками; проведення експериментів; спостереження; опитування, анкетування; пошук в інформаційно-довідкових мережах та системах тощо).
Передача інформації — це процес переміщення повідомлень від джерела до приймача каналом передачі. Інформація передається у формі сигналів - звукових, світлових, ультразвукових, електричних, текстових, графічних та ін. Каналами передачі можуть бути повітряний простір, електричні та оптоволоконні кабелі, окремі люди, нервові клітини людини тощо. буд.
Зберігання інформації - Це процес фіксування повідомлень на матеріальному носії. Зараз для зберігання інформації використовуються папір, дерев'яні, тканинні, металеві та інші поверхні, кіно- та фотоплівки, магнітні стрічки, магнітні та лазерні диски, флеш-карти та ін.
Обробка інформації — це процес отримання нових повідомлень із наявних. Обробка інформації одна із основних способів збільшення її кількості. В результаті обробки з одного виду повідомлення можна отримати повідомлення інших видів.
Захист інформації — це процес створення умов, які не допускають випадкової втрати, пошкодження, зміни інформації чи несанкціонованого доступу до неї. Способами захисту є створення її резервних копій, зберігання в захищеному приміщенні, надання користувачам відповідних прав доступу до інформації, шифрування повідомлень та ін.
Мова як спосіб подання та передачі інформації
Для того, щоб зберегти інформацію та передати її, з давніх-давен використовувалися знаки.
Залежно від способу сприйняття знаки поділяються на:
- зорові (літери та цифри, математичні знаки, музичні ноти, дорожні знаки та ін.);
- слухові (усна мова, дзвінки, сирени, гудки та ін);
- дотичні (азбука Брайля для сліпих, жести-торкання та ін);
- нюхові;
- смакові.
Для довготривалого зберігання знаки записують носії інформації.
Для передачі інформації використовуються знаки у вигляді сигналів (Світлові сигнали світлофора, звуковий сигнал шкільного дзвінка і т. д.).
За способом зв'язку між формою та значенням знаки поділяються на:
- іконічні — їхня форма схожа на об'єкт, що відображається (наприклад, піктограма папки «Мій комп'ютер» на «Робочому столі» комп'ютера);
- символи — зв'язок між їхньою формою та значенням встановлюється за загальноприйнятою угодою (наприклад, літери, математичні символи ∫, ≤, ⊆, ∞; символи хімічних елементів).
Для представлення інформації використовуються знакові системи, які називаються мовами. Основу будь-якої мови складає алфавіт - Набір символів, з яких формується повідомлення, і набір правил виконання операцій над символами.
- природні (розмовні) - російська, англійська, німецька та ін;
- формальні - що зустрічаються у спеціальних галузях людської діяльності (наприклад, мова алгебри, мови програмування, електричних схем та ін.)
Системи числення також можна як формальні мови. Так, десяткова система числення - це мова, алфавіт якої складається з десяти цифр 0..9, двійкова система числення - мова, алфавіт якої складається з двох цифр - 0 і 1.
Методи вимірювання кількості інформації: імовірнісний та алфавітний
Одиницею виміру кількості інформації є біт. 1 біт — це кількість інформації, що міститься в повідомленні, яке вдвічі зменшує невизначеність знань про щось.
Зв'язок між кількістю можливих подій N та кількістю інформації I визначається формулою Хартлі:
Наприклад, нехай кулька знаходиться в одній із чотирьох коробок. Таким чином, є чотири рівноймовірні події (N = 4). Тоді за формулою Хартлі 4 = 2 I. Звідси I = 2. Тобто повідомлення про те, в якій саме коробці знаходиться кулька, містить 2 біти інформації.
Алфавітний підхід
При алфавітному підході до визначення кількості інформації відволікаються від змісту (сенсу) інформації та розглядають її як послідовність знаків певної знакової системи. Набір символів мови (алфавіту) можна розглядати як різні можливі події. Тоді, якщо вважати, що поява символів у повідомленні є рівноймовірною, за формулою Хартлі можна розрахувати, скільки інформації несе кожен символ:
Наприклад, у російській мові 32 літери (літера її зазвичай не використовується), тобто кількість подій буде дорівнює 32. Тоді інформаційний обсяг одного символу дорівнюватиме:
I = log2 32 = 5 бітів.
Якщо N не є цілим ступенем 2, то число log2N не є цілим числом, і для I треба виконувати округлення у велику сторону.2N', де N′ — найближчий до N ступінь двійки — такий, що N′ > N.
Наприклад, в англійській мові 26 літер.
N = 26; N' = 32;2N' = log2(2 5) = 5 бітів.
Якщо кількість символів алфавіту дорівнює N, а кількість символів запису повідомлення дорівнює М, то інформаційний обсяг даного повідомлення обчислюється за формулою:
Приклади розв'язання задач
приклад 1. Світлове табло складається з лампочок, кожна з яких може перебувати в одному з двох станів («включено» або «вимкнено»).
Рішення. За допомогою n лампочок, кожна з яких може знаходитися в одному з двох станів, можна закодувати 2 n сигналів.
приклад 2. Метеорологічна станція веде спостереження за вологістю повітря. Результатом одного виміру є ціле число від 0 до 100, яке записується за допомогою мінімально можливої кількості бітів.
Рішення. У цьому випадку алфавітом є безліч цілих чисел від 0 до 100. Усього таких значень 101. Тому інформаційний обсяг результатів одного виміру I = log2101.Це значення не буде цілим. Замінимо число 101 найближчим до нього ступенем двійки, більшим за 101. Це число 128 = 27. Приймаємо для одного вимірювання I = log2128 = 7 бітів. Для 80 вимірів загальний інформаційний обсяг дорівнює:
80 · 7 = 560 бітів = 70 байтів.
Відповідь: 70 байтів.
Імовірнісний підхід
Імовірнісний підхід до вимірювання кількості інформації застосовують, коли можливі події мають різні можливості реалізації. У цьому випадку кількість інформації визначають за формулою Шеннона:
де $ I $ - кількість інформації;
$ N $ - кількість можливих подій;
$p_i$ — ймовірність $i$-ї події.
Наприклад, нехай при киданні несиметричної чотиригранної пірамідки ймовірність окремих подій дорівнюватиме:
Тоді кількість інформації, яку буде отримано після реалізації одного з них, можна обчислити за формулою Шеннона:
Одиниці виміру кількості інформації
Найменшою одиницею інформації є біт (англ. binary digit (bit) - Двійкова одиниця інформації).
Біт — це кількість інформації, яка потрібна для однозначного визначення однієї з двох рівноймовірних подій. Наприклад, один біт інформації отримує людина, коли вона дізнається, запізнюється з прибуттям потрібний їй потяг чи ні, був уночі мороз чи ні, присутній на лекції студент Іванов чи ні. буд.
В інформатиці прийнято розглядати послідовності завдовжки 8 бітів. Така послідовність називається байтом.
Похідні одиниці вимірювання кількості інформації:
1 кілобайт (Кб) = 1024 байта = 2 10 байтів
1 мегабайт (Мб) = 1024 кілобайта = 2 20 байтів
1 гігабайт (Гб) = 1024 мегабайта = 2 30 байтів
1 терабайт (Тб) = 1024 гігабайти = 2 40 байтів
Процес передачі.Види та властивості джерел та приймачів інформації. Сигнал, кодування та декодування, причини спотворення інформації при передачі
Інформація передається у вигляді повідомлень від деякого джерела інформації до неї приймачеві за допомогою каналу зв'язку між ними.
Як джерело інформації може виступати жива істота або технічний пристрій. Джерело посилає передане повідомлення, яке кодується в переданий сигнал.
Сигнал - Це матеріально-енергетична форма подання інформації. Іншими словами, сигнал — це переносник інформації, один або кілька параметрів якого, змінюючись, відображають повідомлення. Сигнали можуть бути аналоговими (безперервними) або дискретними (Імпульсними).
Сигнал надсилається каналом зв'язку. В результаті в приймачі з'являється сигнал, який декодується і стає прийнятим повідомленням.
Передача інформації каналами зв'язку часто супроводжується впливом перешкод, що викликають спотворення та втрату інформації.
Приклади розв'язання задач
приклад 1. Для кодування букв А, З, Р, використовуються дворозрядні двійкові числа 00, 01, 10, 11 відповідно. Цим способом закодували слово ТРОЯННЯ і результат записали шістнадцятковим кодом. Вказати отримане число.
Рішення. Запишемо послідовність кодів для кожного символу слова ТРОЯННЯ: 10 11 01 00. Якщо розглядати отриману послідовність як двійкове число, то в шістнадцятковому коді воно дорівнюватиме: 1011 01002 = В416.
Швидкість передачі інформації та пропускна спроможність каналу зв'язку
Прийом/передача інформації може відбуватися з різною швидкістю. Кількість інформації, що передається за одиницю часу, є швидкість передачі інформації, або швидкість інформаційного потоку.
Швидкість виявляється у бітах за секунду (біт/с) і кратних їм Кбіт/с і Мбіт/с, і навіть у байтах за секунду (байт/с) і кратних їм Кбайт/с і Мбайт/с.
Максимальна швидкість передачі інформації каналом зв'язку називається пропускну здатність каналу.
Приклади розв'язання задач
приклад 1. Швидкість передачі через ADSL-з'єднання дорівнює 256000 біт/с. Передача файлу через з'єднання зайняла 3 хв. Визначте розмір файлу у кілобайтах.
Рішення. Розмір файлу можна обчислити, якщо помножити швидкість передачі на час передачі. Виразимо час у секундах: 3 хв = 3 ⋅ 60 = 180 с. Виразимо швидкість в кілобайтах на секунду: 256000 біт/с = 256000: 8: 1024 Кбайт/с. При обчисленні розміру файлу для спрощення розрахунків виділимо ступеня двійки:
Розмір файлу = (256000 : 8 : 1024) ⋅ (3 ⋅ 60) = (2 8 ⋅ 10 3 : 2 3 : 2 10 ) ⋅ (3 ⋅ 15 ⋅ 2 2 ) = (2 8 ⋅ 3 : 2 10 ) ⋅ (3 ⋅ 15 ⋅ 2 2 ) = 125 ⋅ 45 = 5625 Кбайт.
Відповідь: 5625 Кбайт.
Подання числової інформації. Додавання та множення в різних системах числення
Подання числової інформації за допомогою систем числення
Для представлення інформації в комп'ютері використовується двійковий код, алфавіт якого складається з двох цифр - 0 і 1. Кожна цифра двійкового машинного коду несе кількість інформації, що дорівнює одному біту.
Система числення - Це система запису чисел за допомогою певного набору цифр.
Система числення називається позиційноїякщо одна і та ж цифра має різне значення, що визначається її місцем у числі.
Позиційною є десяткова система числення. Наприклад, серед 999 цифра «9» залежно від позиції означає 9, 90, 900.
Римська система числення є непозиційної. Наприклад, значення цифри Х серед ХХІ залишається незмінним при варіації її становища в числі.
Позиція цифри в числі називається розрядом. Розряд числа зростає праворуч, від молодших розрядів до старших.
Кількість різних цифр, що вживаються у позиційній системі числення, називається її основою.
Розгорнута форма числа — це запис, який є сумою творів цифр числа значення позицій.
Наприклад: 8527 = 8 ⋅ 10 3 + 5 ⋅ 10 2 + 2 ⋅ 10 1 + 7 ⋅ 10 0 .
Розгорнута форма запису чисел довільної системи числення має вигляд
$a$ — цифри чисельного запису, які відповідають розрядам;
$m$ - кількість розрядів числа дробової частини;
$n$ - кількість розрядів числа цілої частини;
$q$ - основа системи числення.
Наприклад, запишемо розгорнуту форму десяткового числа $327.46$:
Якщо основа системи числення більше десяти, то для цифр вводять умовне позначення з дужкою вгорі або буквене позначення: В - двійкова система, Про - вісімкова, Н - шістнадцяткова.
Наприклад, якщо у дванадцятковій системі числення 10 = А, а 11 = В, то число 7А,5В12 можна розписати так:
7А,5В12 = В ⋅ 12 -2 + 5 ⋅ 2 -1 + А ⋅ 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.
Переказ чисел у позиційних системах числення
Переклад чисел із довільної системи числення до десяткової
Для переведення числа з будь-якої позиційної системи числення до десяткової необхідно використовувати розгорнуту форму числа, замінюючи, якщо це необхідно, літерні позначення відповідними цифрами. Наприклад:
11012 = 1 ⋅ 2 3 + 1 ⋅ 2 2 + 0 ⋅ 2 1 + 1 ⋅ 2 0 = 1310;
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 = 47510.
Для перетворення десяткових дробів у число будь-якої системи числення послідовно виконують множення на основу системи числення, поки дробова частина добутку не дорівнюватиме нулю. Отримані цілі частини є розрядами числа у новій системі, та його необхідно представляти цифрами цієї нової системи числення. Цілі частини надалі відкидаються.
Наприклад, перекладемо десятковий дріб 0,37510 у двійкову систему числення:
Отриманий результат - 0,0112.
Не кожне число може бути точно виражено у новій системі числення, тому іноді обчислюють лише необхідну кількість розрядів дробової частини.
Переклад чисел із двійкової системи числення у вісімкову та шістнадцяткову та назад
Для запису вісімкових чисел використовуються вісім цифр, тобто в кожному розряді числа можливі 8 варіантів запису.
Таким чином, щоб із вісімкової системи числення перевести число у двійковий код, необхідно кожну цифру цього числа уявити тріадою двійкових символів.
1234,7778 = 001 010 011 100,111 111 1112 = 1 010 011 100,111 111 1112;
12345678 = 001 010 011 100 101 110 1112 = 1 010 011 100 101 110 1112.
При переведенні двійкового числа у вісімкову систему числення потрібно кожну тріаду двійкових цифр замінити на вісімкову цифру. При цьому, якщо необхідно, число вирівнюється шляхом дописування нулів перед цілою частиною або після дробової.
Для запису шістнадцяткових чисел використовуються шістнадцять цифр, тобто для кожного розряду числа можливі 16 варіантів запису.
Таким чином, для переведення двійкового числа в шістнадцяткове його потрібно розбити на групи по чотири цифри і перетворити кожну групу на шістнадцяткову цифру.
Для переведення шістнадцяткового числа в двійковий код необхідно кожну цифру цього числа подати четвіркою двійкових цифр.
1234,AB7716 = 0001 0010 0011 0100,1010 1011 0111 01112 = 1 0010 0011 0100,1010 1011 0111 01112;
CE456716 = 1100 1110 0100 0101 0110 01112.
При переведенні числа з однієї довільної системи числення в іншу потрібно виконати проміжне перетворення в десяткове число.
Наприклад, переведемо трійкове число 2113 на семирічну систему числення. Для цього спочатку перетворимо число 2113 у десяткове, записавши його розгорнуту форму:
2113 = 2 ⋅ 3 2 + 1 ⋅ 3 1 + 1 ⋅ 3 0 = 18 + 3 + 1 = 2210.
Потім переведемо десяткове число 2210 в семирічну систему числення розподілом націло основу нової системи числення, т.і. е. на 7:
Приклади розв'язання задач
приклад 1. У системі числення з деякою основою число 12 записується у вигляді 110. Вказати цю основу.
Рішення. Позначимо потрібну основу п. За правилом запису чисел у позиційних системах числення 1210 = 110n = 0 · n 0 + 1 · n 1 + 1 · n 2 . Складемо рівняння: n 2 + n = 12 . Знайдемо натуральний корінь рівняння (негативний корінь не підходить, тому що основа системи числення, за визначенням, натуральне число більше одиниці): n = 3 . Перевіримо отриману відповідь: 1103 = 0· 3 0 + 1 · 3 1 + 1 · 3 2 = 0 + 3 + 9 = 12 .
приклад 2. Вказати через кому у порядку зростання всі підстави систем числення, у яких запис числа 22 закінчується на 4.
Рішення. Остання цифра в записі числа є залишок від розподілу числа на основу системи числення. 22 - 4 = 18. Знайдемо дільники числа 18. Це числа 2, 3, 6, 9, 18. Числа 2 та 3 не підходять, т.е. до. у системах числення з підставами 2 і 3 немає цифри 4. Отже, шуканими підставами є числа 6, 9 і 18. Перевіримо отриманий результат, записавши число 22 у зазначених системах числення: 2210 = 346 = 249 = 1418.
приклад 3. Вказати через кому в порядку зростання всі числа, що не перевищують 25, запис яких у двійковій системі числення закінчується на 101. Відповідь записати в десятковій системі числення.
Рішення. Для зручності скористаємося восьмеричною системою числення. 1012 = 58. Тоді число х можна як x = 5 · 8 0 + a1 · 8 1 + a2 · 8 2 + a3 · 8 3 +. , де a1, a2, a3, … - Цифри восьмеричной системи. Шукані числа нічого не винні перевищувати 25, тому розкладання потрібно обмежити двома першими доданками ( 8 2 > 25), тобто. е.такі числа повинні мати уявлення x = 5 + a1 · 8. Оскільки x ≤ 25, допустимими значеннями a1 будуть 0, 1, 2. Підставивши ці значення вираз для х, отримаємо шукані числа:
a1 = 0; x = 5 + 0 · 8 = 5;
a1=1; x = 5 + 1 · 8 = 13;
a1 = 2; x = 5 + 2 · 8 = 21;
Відповідь: 5, 13, 21.
Арифметичні операції у позиційних системах числення
Правила виконання арифметичних дій над двійковими числами задаються таблицями додавання, віднімання та множення.
| Додавання |
Віднімання |
Розмноження |
| 0 + 0 = 0 |
0 – 0 = 0 |
0 ⋅ 0 = 0 |
| 0 + 1 = 1 |
1 – 0 = 1 |
0 ⋅ 1 = 0 |
| 1 + 0 = 1 |
1 – 1 = 0 |
1 ⋅ 0 = 0 |
| 1 + 1 = 10 |
10 – 1 = 1 |
1 ⋅ 1 = 1 |
Правило виконання операції складання однаково для всіх систем числення: якщо сума цифр, що складаються, більша або дорівнює підставі системи числення, то одиниця переноситься в наступний зліва розряд. При відніманні, якщо необхідно, роблять позику.
Приклад виконання додавання: складемо двійкові числа 111 та 101, 10101 та 1111:
Приклад виконання віднімання: віднімемо двійкові числа 10001 – 101 та 11011 – 1101:
Приклад виконання множення: помножимо двійкові числа 110 та 11, 111 та 101:
Аналогічно виконуються арифметичні дії у восьмеричній, шістнадцятковій та інших системах числення. При цьому необхідно враховувати, що величина перенесення до наступного розряду при складанні та позика зі старшого розряду при відніманні визначається величиною основи системи числення.
Наприклад, виконаємо складання вісімкових чисел 368 та 158, а також віднімання шістнадцяткових чисел 9С16 та 6716:
При виконанні арифметичних операцій над числами, представленими у різних системах числення, потрібно попередньо перевести в одну й ту саму систему.
Подання чисел у комп'ютері
Формат із фіксованою комою
У пам'яті комп'ютера цілі числа зберігаються у форматі з фіксованою комою: кожному розряду комірки пам'яті відповідає той самий розряд числа, «кома» знаходиться поза розрядною сіткою.
Для зберігання цілих невід'ємних чисел відводиться 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 = 25510.
Таким чином, діапазон зміни цілих невід'ємних чисел – від 0 до 255.
Для п-розрядного подання діапазон складатиме від 0 до 2 n – 1.
Для зберігання цілих чисел зі знаком відводиться 2 байти пам'яті (16 бітів). Старший розряд відводиться під знак числа: якщо число позитивне, то знаковий розряд записується 0, якщо число негативне — 1. Таке уявлення чисел у комп'ютері називається прямим кодом.
Для подання негативних чисел використовується додатковий код. Він дозволяє замінити арифметичну операцію віднімання операцією додавання, що істотно спрощує роботу процесора і збільшує його швидкодію. Додатковий код від'ємного числа А, що зберігається в осередках, дорівнює 2 n − |А|.
Алгоритм отримання додаткового коду від'ємного числа:
1. Записати прямий код числа п двійкових розрядах.
2. Отримати зворотний код числа. (Зворотний код утворюється із прямого коду заміною нулів одиницями, а одиниць — нулями, крім цифр знакового розряду. Для позитивних чисел зворотний код збігається з прямим. Використовується як проміжна ланка для отримання додаткового коду.)
3. Додати одиницю до отриманого зворотного коду.
Наприклад, отримаємо додатковий код числа -201410 для шістнадцятирозрядного подання:
| Прямий код |
Двійковий код числа 201410 зі знаковим розрядом |
1000011111011110 |
| Зворотній код |
Інвертування (за винятком знакового розряду) |
1111100000100001 |
| Додавання одиниці |
1111100000100001 + 0000000000000001 |
| Додатковий код |
1111100000100010 |
При складі алгебри двійкових чисел з використанням додаткового коду позитивні доданки представляють у прямому коді, а негативні - в додатковому коді. Потім підсумовують ці коди, включаючи знакові розряди, які при цьому розглядаються як старші розряди. При перенесенні із знакового розряду одиницю перенесення відкидають. В результаті одержують алгебраїчну суму в прямому коді, якщо ця сума позитивна, і в додатковому - якщо сума негативна.
1) Знайдемо різницю 1310 – 1210 для восьмибітного уявлення. Представимо задані числа у двійковій системі числення:
Запишемо прямий, зворотний та додатковий коди для числа –1210 та прямий код для числа 1310 у восьми бітах:
| 1310 |
–1210 |
| Прямий код |
00001101 |
10001100 |
| Зворотній код |
— |
11110011 |
| Додатковий код |
— |
11110100 |
Віднімання замінимо додаванням (для зручності контролю за знаковим розрядом умовно відокремимо його знаком «_»):
Так як відбулося перенесення із знакового розряду, першу одиницю відкидаємо, і в результаті отримуємо 00000001.
2) Знайдемо різницю 810 – 1310 для восьмибітного уявлення.
Запишемо прямий, зворотний та додатковий коди для числа –1310 та прямий код для числа 810 у восьми бітах:
| 810 |
–1310 |
| Прямий код |
00001000 |
10001101 |
| Зворотній код |
— |
11110010 |
| Додатковий код |
— |
11110011 |
Віднімання замінимо додаванням:
У знаковому розряді стоїть одиниця, отже, результат отримано додатковому коді. Перейдемо від додаткового коду до зворотного, віднімаючи одиницю:
11111011 – 00000001 = 11111010.
Перейдемо від зворотного коду до прямого, інвертуючи всі цифри, крім знакового (старшого) розряду: 10000101. Це десяткове число –510.
Оскільки при п-разрядном поданні негативного числа А додатковому коді старший розряд виділяється зберігання знака числа, мінімальне негативне число одно: А = –2 n–1 , а максимальне: |А| = 2 n-1 або А = -2 n-1 - 1.
Визначимо діапазон чисел, які можуть зберігатися в оперативній пам'яті у форматі довгих цілих чисел зі знаком (Для зберігання таких чисел відводиться 32 біта пам'яті). Мінімальна від'ємна кількість дорівнює
А = -2 31 = -214748364810.
Максимальне позитивне число дорівнює
А = 2 31 - 1 = 214748364710.
Достоїнствами формату з фіксованою комою є простота та наочність уявлення чисел, простота алгоритмів реалізації арифметичних операцій. Недоліком є невеликий діапазон чисел, що представиться, недостатній для вирішення більшості прикладних завдань.
Формат із плаваючою комою
Речові числа зберігаються та обробляються у комп'ютері у форматі з плаваючою комою, що використовує експонентну форму запису чисел.
Число в експоненційному форматі подається в такому вигляді:
де $m$ - мантиса числа (правильна відмінна від нуля дріб);
$q$ - основа системи числення;
Наприклад, десяткове число 2674,381 в експоненційній формі запишеться так:
2674,381 = 0,2674381 ⋅ 10 4 .
Число у форматі з плаваючою комою може займати в пам'яті 4 байти (звичайна точність) або 8 байтів (подвійна точність). При записі числа виділяються розряди зберігання знака мантиси, знака порядку, порядку і мантиси. Дві останні величини визначають діапазон зміни чисел та його точність.
Визначимо діапазон (порядок) та точність (мантису) для формату чисел звичайної точності, т.е. е. чотирибайтних.З 32 бітів 8 виділяється для зберігання порядку та його знака та 24 – для зберігання мантиси та її знака.
Знайдемо максимальне значення порядку числа. З 8 розрядів старший розряд використовується зберігання знака порядку, інші 7 — для запису величини порядку. Значить, максимальне значення дорівнює 11111112 = 12710. Так як числа подаються в двійковій системі числення, то
Аналогічно, максимальне значення мантиси дорівнює
Таким чином, діапазон чисел звичайної точності становить $±1.7 · 10^$.
Кодування текстової інформації. Кодування ASCII. Основні кодування кирилиці, що використовуються.
Відповідність між набором символів та набором числових значень називається кодування символу. Під час введення в комп'ютер текстової інформації відбувається її двійкове кодування. Код символу зберігається в пам'яті комп'ютера. У процесі виведення символу на екран здійснюється зворотна операція. декодування, Т. е. перетворення коду символу на його зображення.
Присвоєний кожному символу конкретний числовий код фіксується кодових таблицях. Одному й тому символу у різних кодових таблицях можуть відповідати різні числові коди. Необхідні перекодування тексту зазвичай виконують спеціальні програми-конвертори, вбудовані у більшість програм.
Як правило, для зберігання коду символу використовується один байт (вісім бітів), тому коди символів можуть набувати значення від 0 до 255. Такі кодування називають однобайтними. Вони дозволяють використовувати 256 символів (N = 2 I = 2 8 = 256). Таблиця однобайтних кодів символів називається ASCII (American Standard Code for Information Interchange - Американський стандартний код обміну інформацією).Перша частина таблиці ASCII-кодів (від 0 до 127) однакова всім IBM-PC сумісних комп'ютерів і містить:
- коди символів, що управляють;
- коди цифр, арифметичних операцій, розділових знаків;
- деякі спеціальні символи;
- коди великих та маленьких латинських літер.
Друга частина таблиці (коди від 128 до 255) буває різною у різних комп'ютерах. Вона містить коди букв національного алфавіту, коди деяких математичних символів, коди символів псевдографіки. Для російських літер нині використовується п'ять різних кодових таблиць: КОІ-8, СР1251, СР866, Мас, ISO.
Останнім часом стала вельми поширеною новий міжнародний стандарт Unicode. У ньому відводиться по два байти (16 бітів) для кодування кожного символу, тому з його допомогою можна закодувати 65536 різних символів (N = 2 16 = 65536). Коди символів можуть набувати значення від 0 до 65535.
Приклади розв'язання задач
приклад. За допомогою кодування Unicode закодовано таку фразу:
Я хочу вступити до університету!
Оцінити інформаційний обсяг цієї фрази.
Рішення. У цій фразі міститься 31 символ (включаючи пробіли та розділовий знак). Оскільки в кодуванні Unicode кожному символу відводиться 2 байти пам'яті, для всієї фрази знадобиться 31 ⋅ 2 = 62 байта або 31 ⋅ 2 ⋅ 8 = 496 бітів.
Відповідь: 32 байти або 496 бітів.