5.1Загальні відомості про технологію кодування. Технологія кодування чисел
Кодування інформації - представлення відомостей в деякій стандартній формі. Одні і ті ж відомості можуть бути представлені в декількох різних формах, і навпаки, різні відомості можна представити в схожій формі. Наприклад, можна використовувати словесний опис нової марки автомобіля, а можна представити його вигляд в декількох детальних фотографіях. Інший приклад - медичні довідки однієї форми мають однаковий зовнішній вигляд, але описують різні хвороби, оскільки видані різним людям.
З появою комп’ютерів виникла необхідність кодування всіх видів інформації, з якою має справу і окрема людина і все людство в цілому. Але вирішувати задачу кодування інформації людство почало задовго до появи комп’ютерів: грандіозні досягнення людства − писемність і арифметика − не що інше, як системи кодування мови і числової інформації.
Розрізняють наступні види кодування інформації: кодування чисел, цифрове кодування інформаційних об’єктів, класифікаційне, кодування дискретних повідомлень, завадостійке кодування, кодування інформаційних символів на фізичному рівні та т. ін.
Кодування чисел
Щоб використовувати числа, потрібно їх якось називати і записувати, потрібна система нумерації. Різні системи рахунку і запису чисел тисячоліттями співіснували і змагалися між собою, але до кінця “доком’ютерної епохи” особливу роль при рахунку стало грати число “десять”, а найпопулярнішою системою кодування виявилася позиційна десяткова система. У цій системі значення цифри в числі залежить від її місця (позиції) усередині числа. Десяткова система числення прийшла з Індії (не пізніші VI століття нашої ери). Алфавіт цієї системи: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} - всього 10 цифр, таким чином основа системи числення - 10. Число записується як комбінація одиниць, десятків, сотень, тисяч і так далі. Приклад: 1998 = 8*100 + 9*101 + 9*102 + 1*103.
Помітимо, що вибір числа 10 як основа системи числення пояснюється традицією, а не якимись чудовими властивостями числа 10. Взагалі, представлення числа N в р-річній системі числення, це:
N = an*pn + an-l*pn-l + ...+ al*pl + ao.
У Вавилоні, наприклад, використовувалася 60-річна система числення, алфавіт містив цифри від 1 до 59, числа 0 не було, таблиці множення були дуже громіздкими, тому дуже скоро вона була забута, але відгомони її минулої поширеності можна спостерігати і зараз - розподіл години на 60 хвилин, розподіл круга на 360 градусів.
Двійкова система числення
Двійкова система числення була придумана математиками і філософами ще до появи комп’ютерів (XVII - XIX вв.). Видатний математик Лейбніц говорив: “Обчислення за допомогою двійок... є для науки основним і породжує нові відкриття... При зведенні чисел до простих основ, якими є 0 і 1, скрізь з’являється чудовий порядок”. Пізніше двійкова система була забута, і лише в 1936 - 1938 роках американський інженер і математик Клод Шеннон знайшов чудові застосування двійкової системи при конструюванні електронних схем.
При роботі з комп’ютерами іноді доводиться мати справу з двійковими числами, оскільки двійкові числа закладені в конструкцію комп’ютера. Двійкова система зручна для комп’ютера, але незручна для людини — дуже довгі числа незручно записувати і запам’ятовувати. На допомогу приходять системи числення, споріднені двійковою — восьмирічна і шістьнадцатерічна.
Наприклад, в шістьнадцатерічній системі для запису чисел призначені 10 арабських цифр і букви латинського алфавіту {А, В, С, D, Е, F}. Щоб записати число в цій системі числення, зручно скористатися двійковим представленням числа. Візьмемо для прикладу те ж число - 2000 або 11111010000 в двійковій системі. Розіб’ємо його на четвірки знаків, рухаючись справа наліво, в останній четвірці зліва припишемо незначущий 0, щоб кількість знаків в тріадах була по чотири: 0111 1101 0000. Почнемо переклад - числу 0111 в двійковій системі відповідає число 7 в десятковій (710=1*20+1*21+1*22), в шістьнадцатерічній системі числення цифра 7 є; числу 1101 в двійковій системі відповідає число 13 в десятковій (13 = 1*20 + 0*21 + 1*22 + 1*23), в шістьнадцатерічній системі цьому числу відповідає цифра D, і, нарешті, число 0000 - в будь-якій системі числення 0. Запишемо тепер результат:
111110100002 = 7D016.