Питання про кодування чисел виникає з тієї причини, що в машину можна або нераціонально вводити числа в тому вигляді, в якому вони зображаються людиною на папері. По-перше, потрібно кодувати знак числа. По-друге, з різних причин, які будуть розглянуті нижче, доводиться іноді кодувати і решту числа.
Кодування цілих чисел проводитися через їх подання до двійковій системі числення: саме в цьому виді вони і поміщаються в осередку. Один біт відводитися при цьому для представлення знака числа (нулем кодується знак "плюс", одиницею - "мінус").
Для кодування дійсних чисел існує спеціальний формат чисел з плаваючою комою. Число при цьому представляється у вигляді: N = M * qp, де M - мантиса, p - порядок числа N, q - основа системи числення. Якщо при цьому мантиса M задовольняє умові 0,1 <= | M | <= 1 то число N называют нормализованным.
Для кодування букв та інших символів, що використовуються в друкованих документах, необхідно закріпити за кожним символом числовий номер - код. В англомовних країнах використовуються 26 прописних і 26 малих літер (A ... Z, a ... z), 9 знаків пунктуації (. ";. ()), Пробіл, 10 цифр, 5 знаків арифметичних дій (+, -, *, /, ^) і спеціальні символи (№,%, _, #, $, ,>, <, |, \) – всего чуть больше 100 символов. Таким образом, для кодирования этих символов можно ограничиться максимальным 7-разрядным двоичным числом (от 0 до 1111111, в десятичной системе счисления – от 0 до 127).
Кодування графічної інформації
Растрові зображення є одношаровою сітку точок, званих пікселями (pixel, від англ. Picture element). Код пікселя містить інформації про його кольорі.
На противагу растровій графіці векторне зображення багатошарово. Кожен елемент векторного зображення - лінія. Кожен елемент векторного зображення є об'єктом, який описується за допомогою математичних рівнянні. Складні об'єкти (ламані лінії, різні геометричні фігури) представляються у вигляді сукупності елементарних графічних об'єктів.
Таблиця кодування. код Ascii
У людському світі інформація може надаватися послідовностями символів. Кожен символ має канонічне зображення, яке дозволяє однозначно ідентифікувати даний символ. Варіанти накреслення символів задають різні шрифти.
В обчислювальних машинах для представлення інформації використовуються ланцюжка байтів. Тому для перекладу інформації з машинного уявлення в людський необхідні таблиці кодування символів - таблиці відповідності між символами певної мови і кодами символів. Їх ще називають кодовими сторінками або застосовують англійський термін character set (який іноді скорочують до charset).
Найвідомішою таблицею кодування є код ASCII (Американський стандартний код для обміну інформацією). Спочатку він був розроблений для передачі текстів по телеграфу, причому в той час він був 7-бітовим, тобто для кодування символів англійської мови, службових і керуючих символів використовувалися тільки 128 7-бітових комбінацій. При цьому перші 32 комбінації (коду) служили для кодування сигналів (початок тексту, кінець рядка, переклад каретки, дзвінок, кінець тексту і т.д.). При розробці перших комп'ютерів фірми IBM цей код був використаний для представлення символів в комп'ютері. Оскільки в вихідному коді ASCII було всього 128 символів, для їх кодування вистачило значень байта, у яких 8-ий біт дорівнює 0. Значення байта з 8-им бітом, що дорівнює 1, стали використовувати для представлення символів псевдографіки, математичних знаків і деяких символів з мов, відмінних від англійської (грецького, німецьких умляутом, французьких діакритичних знаків і т.п.).
Коли стали пристосовувати комп'ютери для інших країн і мов, місця для нових символів вже не стало вистачати. Для того, щоб повноцінно підтримувати крім англійської та інших мов, фірма IBM ввела в вживання кілька кодових таблиць, орієнтованих на конкретні країни. Так для скандинавських країн було запропоновано таблиця 865 (Nordic), для арабських країн - таблиця 864 (Arabic), для Ізраїлю - таблиця 862 (Israel) і так далі. У цих таблицях частина кодів з другої половини кодової таблиці використовувалася для представлення символів національних а лфавітов (за рахунок виключення деяких символів псевдографіки).
З російською мовою ситуація розвивалася особливим чином. Очевидно, що заміну символів у другій половині кодової таблиці можна зробити різними способами. Ось і з'явилися для російської мови кілька різних таблиць кодування символів кирилиці: KOI8-R, IBM-866, CP-1251, ISO-8551-5. Всі вони однаково зображують символи першої половини таблиці (від 0 до 127) і розрізняються поданням символів російського алфавіту і псевдографіки.
Для сумісності з попередніми кодуваннями перші 256 кодів збігаються зі стандартом ASCII.
У стандарті UNICODE крім певного двійкового коду (ці коди прийнято позначати буквою U, після якої йдуть знак + і власне код в шестнадцатиричном поданні) кожному символу присвоєно певне ім'я.
Ще одним компонентом стандарту UNICODE є алгоритми для взаємно-однозначного перетворення кодів UNICODE в послідовності байтів змінної довжини. Необхідність таких алгоритмів обумовлена тим, що не всі програми вміють працювати з UNICODE. Деякі додатки розуміють тільки 7-бітові ASCII-коди, інші додатки - 8-бітові ASCII-коди. Такі додатки використовують для представлення символів, що не помістилися, відповідно, в 128-символьний або 256-символьний набір, так звані розширені ASCII-коди, коли символи кодуються ланцюжками байтів змінної довжини. Алгоритм UTF-7 служить для оборотного перетворення кодів UNICODE в розширені 7-бітові ASCII-коди, а UTF-8 - для оборотного перетворення кодів UNICODE в розширені 8-бітові ASCII-коди.
Відзначимо, що і ASCII і UNICODE і інші стандарти кодування символів не визначають зображення символів, а тільки склад набору символів і спосіб його уявлення в комп'ютері. Крім того (що, може бути, не відразу очевидно), дуже важливий порядок перерахування символів в наборі, так як він впливає найістотнішим чином на алгоритми сортування. Саме таблицю відповідності символів з якогось певного набору (скажімо, символів, застосовуваних для подання інформації на англійській мові, або на різних мовах, як у випадку з UNICODE) і позначають терміном таблиця кодування символів або charset. Кожна стандартна кодування має ім'я, наприклад, KOI8-R, ISO_8859-1, ASCII. На жаль, стандарту на імена кодувань не існує.
11) .ПОКОЛЕНІЕ ЕОМ Перше покоління ЕОМ (1948 - 1958 рр.) Елементною базою машин цього покоління були електронні лампи - діоди і тріоди. Машини призначалися для вирішення порівняно нескладних науково-технічних завдань. До цього покоління ЕОМ можна віднести: МЕСМ, БЕСМ-1, М-1, М-2, М-З, "Стріла", "Мінськ-1", "Урал-1", "Урал-2", "Урал- 3 ", M-20," Сетунь ", БЕСМ-2," Раздан ". Вони були значних розмірів, споживали велику потужність, мали невисоку надійність роботи і слабке програмне забезпечення. Швидкодія їх не перевищувало 2-3 тисяч операцій в секунду, ємність оперативної пам'яті-2К або 2048 машинних слів (1K = 1024) довжиною 48 двійкових знаків. У 1958 р з'явилася машина M-20 з пам'яттю 4К і швидкодією близько 20 тисяч операцій в секунду. У машинах першого покоління були реалізовані основні логічні принципи побудови електронно-обчислювальних машин та концепції Джона фон Неймана, що стосуються роботи ЕОМ по введеної в пам'ять програмі та вихідними даними (числах). Цей період був початком комерційного застосування електронних обчислювальних машин для обробки даних. В обчислювальних машинах цього часу використовувалися електровакуумні лампи і зовнішня пам'ять на магнітному барабані. Вони були обплутані проводами і мали час доступу 1х10-3 с. Виробничі системи та компілятори поки не з'явилися. В кінці цього періоду стали випускатися пристрої пам'яті на магнітних сердечниках. Надійність ЕОМ цього покоління була вкрай низькою. Друге покоління ЕОМ (1959 - 1967 рр.) Елементною базою машин цього покоління були напівпровідникові прилади. Машини призначалися для вирішення різних трудомістких науково-технічних завдань, а також для управління технологічними процесами у виробництві. Поява напівпровідникових елементів в електронних схемах істотно увеличелось ємність оперативної пам'яті, надійність і швидкодію ЕОМ. Зменшилися розміри, маса і споживана потужність. З появою машин другого покоління значно розширилася сфера використання електронної обчислювальної техніки, головним чином за рахунок розвитку програмного забезпечення. З'явилися також спеціалізовані машини, наприклад ЕОМ для вирішення економічних завдань, для управління виробничими процесами, системами передачі інформації і т.д. До ЕОМ другого покоління відносяться:
Урал -11, -14, -16 - ЕОМ загального призначення, орієнтовані на рішення інженерно-технічних і планово-економічних завдань;
Мінськ -2, -12, -14 для вирішення інженерних, наукових і конструкторських задач математичного та логічного характеру; Третє покоління ЕОМ (1968 - 1973 рр.) Елементна база ЕОМ - малі інтегральні схеми (МІС). Машини призначалися для широкого використання в різних областях науки і техніки (проведення розрахунків, управління виробництвом, рухомими об'єктами і ін.). Завдяки інтегральних схем вдалося істотно поліпшити техніко-експлуатаційні характеристики ЕОМ. Наприклад, машини третього покоління в порівнянні з машинами другого покоління мають більший обсяг оперативної пам'яті, збільшилася швидкодія, підвищилася надійність, а споживана потужність, яку займає площу і маса зменшилися. В СРСР в 70-і роки отримують подальший розвиток АСУ. Закладаються основи державної та міждержавної, що охоплює країни - члени РЕВ (Ради Економічної Взаємодопомоги) системи обробки даних. Розробляються універсальні ЕОМ третього покоління ЄС, сумісні як між собою (машини середньої і високої продуктивності ЄС ЕОМ), так і з закордонними ЕОМ третього покоління (IBM-360 і ін. - США). У розробці машин ЄС ЕОМ беруть участь фахівці СРСР, Народної Республіки Болгарія (НРБ), Угорської Народної Республіки (УНР), Польської Народної Республіки (ПНР), Чехословацької Радянської Соціалістичної Республіки (ЧССР) і Німецької Демократичної Республіки (НДР). У той же час в СРСР створюються багатопроцесорні і квазіаналогового ЕОМ, випускаються міні-ЕОМ "Мир-31", "Мир-32", "Наірі-34". Для управління технологічними процесами створюються ЕОМ серіїі АСВТ М-6000 і М-7000 (розробники В.П.Рязанов і ін.). Розробляються і випускаються настільні міні-ЕОМ на інтегральних мікросхемах М-180, "Електроніка -79, -100, -125, -200", "Електроніка ДЗ-28", "Електроніка НЦ-60" і ін. До машин третього покоління ставилися "Дніпро-2", ЕОМ Єдиної Системи (ЄС-1010, ЄС-1020, ЄС-1030, ЄС-1040, ЄС-1050, ЄС-1060 і кілька їх проміжних модифікацій - ЄС-1021 і ін.), МИР-2 , "Наірі-2" і ряд інших. Характерною рисою даного періоду стало різке зниження цін на апаратне забезпечення. Цього вдалося домогтися головним чином за рахунок використання інтегральних схем. Звичайні електричні з'єднання за допомогою проводів при цьому убудовувалися в мікросхему. Це дозволило отримати значення часу доступу до 2х10 -9 с. У цей період на ринку з'явилися зручні для користувача робочі станції, які за рахунок об'єднання в мережу значно спростили можливість отримання малого часу доступу, зазвичай властивої великим машинам. Подальший прогрес у розвитку обчислювальної техніки був пов'язаний з розробкою напівпровідникової пам'яті, рідкокристалічних екранів і електронної пам'яті. В кінці цього періоду стався комерційний прорив в області мікроелектронної технології. Четверте покоління ЕОМ (1974 - 1982 рр.) Елементна база ЕОМ - великі інтегральні схеми (ВІС). Машини призначалися для різкого підвищення продуктивності праці в науці, виробництві, управлінні, охороні здоров'я, обслуговуванні і побуті. Високий ступінь інтеграції сприяє збільшенню щільності компонування електронної апаратури, підвищенню її надійності, що веде до збільшення швидкодії ЕОМ і зниження її вартості. Все це робить істотний вплив на логічну структуру (архітектуру) ЕОМ і на її програмне забезпечення. Тіснішої стає зв'язок структури машини та її програмного забезпечення, особливо операційної системи (або монітора) -Набір програм, які організовують безперервну роботу машини без втручання людини. До цього покоління можна віднести ЕОМ ЄС: ЄС-1015, -1025, -1035, -1045, -1055, -1065 ( "Ряд 2"), -1036, -1046, -1066, СМ-1420, -1600, - 1700, всі персональні ЕОМ ( "Електроніка МС 0501«, "Електроніка-85", "Іскра-226", ЄС-1840 -1841, -1842 та ін.), а також інші типи та модифікації. До ЕОМ четвертого покоління відноситься також багатопроцесорний обчислювальний комплекс "Ельбрус". "Ельбрус-1кб" мав швидкодію до 5,5 млн. Операцій з плаваючою крапкою в секунду, а обсяг оперативної пам'яті до 64 Мб. У "Ельбрус-2" продуктивність до 120 млн. Операцій в секунду, ємність оперативної пам'яті до 144 Мб або 16 Мслов (слово 72 розряду), максимальна пропускна здатність каналів введення-виведення - 120 Мб / с.