Кодування інформації

Тип работы:
Практическая работа
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Практична робота

Тема: «Кодування інформації»

Мета роботи: набути знань стосовно кодування інформації в ЕОМ та практичного застосування систем кодування знакової та графічної інформації.

Хід роботи

Завдання 1. Уважно вивчіть теоретичні відомості. Найнеобхідніше занотуйте.

Теоретичні відомості

Позиційні системи числення

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

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

n-1Хn-2Хn-3Хn-4 … Х1Х0) m = Хn-1. mn-1 + Хn-2. mn-2 + … +Х0. m0

де m — основа системи числення;

хi - символ в і-й позиції, 0? х і ?m; 0? і? (n-1);

mi — вага і-го знакомісця.

Для десяткової системи числення m = 10, символи, що використовуються: 0ч9.

Приклад:

76110 = 7· 102 + 6· 101 + 1·100.

I

2

1

0

xi

7

6

1

mi

100

10

1

xi ·mi

700

60

1

Окрім десяткової системи числення широке поширення в інформатиці мають позиційні системи числення з основами 2, 8, 16.

Електронні блоки комп’ютера можуть обробляти інформацію, представлену тільки в цифровій формі, причому зазвичай комп’ютери працюють з двійковою системою числення: m=2; символи 1 і 0.

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

Розглянемо представлення чисел в двійковій системі числення. Вага знакомісць:

2°=1, 21= 2, 22 = 4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 210=1024, 216=65 536.

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

Переведення числа з десяткової системи числення в двійкову

Переведення числа з десяткової системи в двійкову здійснюється окремо для цілої і дробової частин числа за наступними алгоритмами:

а) ціле десяткове число ділиться порівну на основу 2, потім на 2 діляться послідовно всі частки від цілочисельного ділення, доки частка не стане менша за основу. В результат заноситься остання частка і всі залишки від ділення, починаючи з останнього.

Наприклад:

22710= 11 100 0112;

б) десятковий дріб послідовно множиться на основу 2, причому відразу після

кожної операції множення одержана ціла частина записується в результат і в

подальшому множенні участі не бере. Процес множення продовжується до зникнення дробової частини числа. Наприклад, для десяткового дробу 0,75:

0,75·2

1,50·2

1,00

Тоді 0,75=0,112.

Кількість операцій множення може бути для деяких десяткових дробів нескінченою чи дуже великою. Тоді кількість знаків після коми залежить від необхідної точності, наприклад: 0,6310=0,1 010 000 101 000 111 1042 з точністю до дев’ятнадцятого знаку після коми:

0,63·2

1,26·2

0,52·2

1,04·2

0,08·2

0,16·2

0,32·2

0,64·2

1,28·2

0,56·2

1,12·2

0,24·2

0,48·2

0,96·2

1,92·2

1,84·2

1,68·2

1,36·2

0,72·2

1,44·2

0,88·2

Переведення числа з двійкової системи числення в десяткову

Переведення числа з двійкової системи числення в десяткову можна здійснювати для цілої і дробової частин числа по одному алгоритму шляхом обчислення суми добутку цифр двійкового числа на вагу її знакомісця:

11 100 011,101000112 = 1 27 + 1 26+ 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 1 20 +1 2-1 + 0 2-2+ 1 2-3 + 0 2-4 + 0 2-5 + 0 2-6+ + 1 2-7 +1 2-8 = 128 +

+64 + 32 + 2 + 1 +0,5 + 0,125 + 0,0078 + 0,0039 = 227,6367

Вісімкова та шістнадцяткова системи числення

Двійкова система числення незручна для використовування людиною, тому програмісти використовують вісімкову (m=8, символи, що використовуються, 07) і шістнадцяткову (m=16, символи, що використовуються, 09, AF) системи числення (табл. 1).

Табл.1 Співвідношення між числами систем числення

Десяткова

Двійкова

Вісімкова

Шістнадцяткована

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

А

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

Е

15

1111

17

F

Кожна трійка двійкових розрядів відповідає одній вісімковій цифрі (див. таб. А), а кожна четвірка двійкових розрядів — шістнадцятковій цифрі (див. таб. Б). Звідси випливає правило переведення з двійкової системи у вісімкову і шістнадцяткову системи числення. Відокремлювати розряди у записі двійкового числа слід справа наліво. Якщо початкова кількість цифр не кратна 3 (при переведенні числа у вісімкову систему числення) або 4 (при переведенні числа у шістнадцяткову систему числення), дописуються нулі зліва.

Наприклад:

a) 11 110 0112= 1111 00112 = F316

b) 111 010 0112 = 111 010 0112 =7238.

Зворотнє перетворення аналогічне:

a) А916=1010 10012 =10 101 0012

b) 3758=011 111 1012=11 111 1012.

Переведення числа з десяткової системи в m-кову систему числення виконується аналогічно переведенню в двійкову систему шляхом цілочисельного ділення десяткового числа на основу системи числення m до тих пір, поки частка не стане менше за дільник. Так, наприклад, перетворення десяткового числа 572 в шістнадцяткову систему здійснюється таким чином:

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

Приклад переведення з шістнадцяткової системи числення в десяткову систему:

23С16 = 2?162 + 3?161 + С?160 =2?162 + 3?161 + 12?160 =512+48+l2=57210.

Співвідношення між числами вісімкової і двійкової (таб. А) та шістнадцяткової і двійкової (таб. Б) систем числення.

Таб. А

Таб. Б

0

000

0

0000

1

001

1

0001

2

010

2

0010

3

011

3

0011

4

100

4

0100

5

101

5

0101

6

110

6

0110

7

111

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

Двійкова алгебра. Форми представлення чисел в ЕОМ

В пам’яті ПК двійкові числа зберігаються в регістрах, що складаються з 8 комірок, тобто мінімальне двійкове число, яке можна розмістити в пам’яті, повинно бути восьмирозрядним. При цьому в незаповнених комірках регістра (в старших розрядах) записуються нулі.

На відміну від десяткової системи в двійковій системі числення відсутні спеціальні символи, що позначають знак числа: додатній (+) або від'ємний (-), тому для представлення двійкових від'ємних чисел використовуються наступні дві форми.

Форма числа зі знаком — старший (лівий) розряд позначається як знаковий і містить інформацію тільки про знак числа:

1 — число від'ємне;

0 — число додатне.

Решта розрядів відводиться під абсолютну величину числа. Наприклад:

510 = 1012 та — 510= 1000 01012.

Форма оберненого додаткового коду, перетворення в яку виконується за таким алгоритмом:

записати число у формі числа зі знаком;

інвертувати всі розряди числа, крім знакового розряду;

додати одиницю до одержаного коду;

відновити одиницю в знаковому розряді.

Перетворення числа

510=10 000 101 > 1 111 010 + 1> 111 1011> 1111 10112.

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

Основні властивості додаткових кодів:

Додатковий код додатнього числа — саме число.

Перетворення додаткового коду по наведеному алгоритму перетворення приводить до первинного виду числа в знаковій формі.

Правила виконання арифметичних операцій в двійковій системі числення

Додавання. Операція додавання виконується так само, як і в десятковій системі. Переповнення розряду приводить до появи одиниці в наступному (вищому) розряді. Слід пам’ятати, що 0+0=0, 0+1=1, 1+1=10.

Тоді:

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

Алгоритм операції віднімання шляхом додавання додаткових кодів:

1) перетворити від'ємне число з форми зі знаком в додатковий код;

виконати операцію двійкового складання над всіма розрядами, включаючи знаковий, ігноруючи одиницю перенесення з найвищого розряду;

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

13−15=13+ (-15)

1510=10 001 111> 1 110 000+1>1 110 001> 1 110 0012

1310=1 1012

11 111 110> 1+1>10 000 0102= - 2.

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

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

Множення. Якщо разом з перерахованими операціями виконати операції зсуву, то за допомогою суматора можна виконати і множення, яке зводиться до серії повторних додавань. Якщо цифра в нульовій позиції множника дорівнює 1, то множене переписується під відповідними розрядами, множення на подальші одиниці приводять до зсуву доданку вліво на одну позицію. Якщо цифра множника дорівнює 0, то наступний доданок зміщується на дві позиції вліво. Це характерно і для десяткової системи числення. Наприклад:

1510. 1310=19510=11 000 0112.

Врахуємо, що 1510=1 1112, а 1310=1 1012.

Тоді виконаємо множення цих двійкових чисел:

Ділення. При виконанні операції ділення кілька разів проводиться операція віднімання. Тому заздалегідь слід знайти додатковий код дільника. Ділення виконується шляхом повторного віднімання і зсуву. Для прикладу виконаємо ділення числа 195 на 15 або в двійковій системі 11 000 0112 на 1 1112. Додатковий код числа 1 111 > 11 110 001. Оскільки за правилами ділення кожне проміжне ділене повинно бути більше дільника, вибираємо як перше ділене число 11 000, тобто перші п’ять розрядів, і додаємо зліва три нулі, доповнюючи ділене до 8 розрядів. Потім проводимо додавання до нього додаткового коду дільника і заносимо в частку одиницю. Якщо наступне ділене після зносу чергової цифри буде менше дільника, то в результат заноситься нуль і в ділене зноситься ще одна цифра з початкового діленого.

Наприклад:

Ділене 111 на третьому кроці після додавання і знесення чергового розряду менше дільника, тому записуємо в результат 0 і зносимо ще один розряд з тих, що залишилися в діленому. Після третього кроку результат додавання дорівнює 0, ділення завершено.

Відповідь: 1 1012 = 1310.

Представлення цілих і дійсних чисел

1. Цілі числа зі знаком

Тип

Кількість біт

Діапазон значень

Короткий

16

від — 32 768 до + 32 767

Середній

32

від — 2?109 до+2?109

Довгий

64

від — 9 ?1018 до+ 9 ?1018

2. Дійсні числа, представлені у формі з плаваючою крапкою.

Будь-яке дійсне число N можна подати у вигляді N = ±A 2 ±p, де, А — мантиса, m — основа системи числення, р — характеристика (або порядок) числа. Якщо після коми в мантисі стоїть не нуль, то число називається нормалізованим справа. Нормалізоване число одинарної точності (до семи значущих цифр) розміщується в пам’яті в 32 бітах таким чином:

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

Порядок числа з плаваючою комою змінюється в діапазоні від — 127 до +128. Для того, щоб порядок був завжди додатнім, його приймають збільшеним на 127:

P Зміщ = P + 127.

Такий спосіб представлення порядку називають зміщеним. Розглянемо приклади:

1) Число — 0,062510 = - 0,00012 = - 1,0*2-4 розміститься в пам’яті комп’ютера таким чином: 101 111 011 0. Перший біт = 1, а це означає, що число від'ємне.

Р Зміщ= - 4 +127 = 12310 = 1 111 0112, мантиса складається з нулів.

2) Число 2510= 11 0012 = 1,1001 * 24 розміститься в пам’яті комп’ютера таким чином: 10 000 011 10 009 999 999 999 999 475 712.

Перший біт = 0, отже число додатнє.

Р Зміщ = 4+127 = 13110= 10 000 0112, в мантисі після відкидання цілої частини залишається 1001.

Нормалізоване число подвійної точності розміщується в пам’яті в 80 бітах, причому під мантису відводиться 55 біт.

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

Машинні одиниці інформації

Спочатку слово «інформація» означало відомості про навколишній світ і перебігаючі в ньому процеси, що припускає наявність значення, значущості повідомлення. Значення і значущість — поняття людські, суб'єктивні. Інформацію перед використнням (обробкою, зберіганням, передачею) необхідно закодувати. Кодування проводиться за допомогою спеціальних алфавітів. На відміну від загальноприйнятих алфавітів (національних, азбуки Морзе, рельєфного шрифту Брайля), що використовуються людиною, при роботі ЕОМ застосовується двійковий алфавіт.

Кодування інформації, при якому використовуються два символи 1 і 0, називається двійковим кодуванням.

Мінімальний об'єм інформації, який може бути переданий за допомогою цього кодування, тобто цифри 1 або 0, називають бітом (від англійського binary digit — двійковий розряд).

Зазвичай пристрої ЕОМ працюють не з окремими бітами, а з групою бітів відразу. Послідовність, складена з восьми бітів, складає один байт.

Для вимірювання кількості інформації використовуються також крупніші одиниці:

1 Кбайт = 1024 байт (210 байт)

1 Мбайт = 1024 Кбайт (220 байт)

1 Гбайт = 1024 Мбайт (230 байт)

1 Тбайт = 1024 Гбайт (240 байт)

1 Пбайт = 1024 Тбайт (250 байт)

1 Ебайт = 1024 Пбайт (260 байт).

Системи кодування ASCII, Windows 1251, Unicode та інші. Кодування символьної інформації

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

Кожному символу призначається код — послідовність з фіксованої кількості нулів і одиниць зі взаємно однозначною відповідністю. Використовуючи одну двійкову цифру (один біт) можна закодувати всього 2 символи. Двохбітових комбінацій може бути чотири> 00; 01, 10, 11, тобто 22, за допомогою трьох бітів можна одержати вісім різних комбінацій нулів і одиниць (23). Оптимальна кількість символів, які використовуються при наборі різних текстів, дорівнює приблизно 250 (літери латинські і кирилиця, заголовочні і рядкові, розділові знаки, цифри, математичні знаки, елементи псевдографіки). В двійковій системі така кількість символів може бути закодована послідовністю з 8 біт (28=256), тобто одним байтом. Якщо кожному символу алфавіту поставити у відповідність певне ціле число, то за допомогою двійкового коду можна однозначно кодувати текстову інформацію. Вісім двійкових розрядів достатні для кодування 256 різних символів. Цього вистачить, щоб зобразити різними комбінаціями восьми бітів всі символи англійської, української і російської мов, як рядкові, так і прописні, а також розділові знаки, символи основних арифметичних дій і загальноприйняті спеціальні символи.

Для того, щоб весь світ однаково кодував текстові дані, потрібні єдині таблиці кодування. Для англійської мови, що захопила де-факто нішу міжнародного засобу спілкування Інститут стандартизації США (ANSI - American National Standard Institute) ввів в дію систему кодування ASCII (American Standard Code for Information Interchange - стандартний код інформаційного обміну США). В системі ASCII закріплено дві таблиці кодування — базова і розширена. Базова таблиця закріплює значення кодів від 0 до 127, а розширена відноситься до символів з номерами від 128 до 255. Перші 32 коди базової таблиці, починаючи з нульового, віддано виробникам апаратних засобів (в першу чергу виробникам комп’ютерів і друкуючих пристроїв).

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

Починаючи з коду 32 і закінчуючи кодом 127 розміщені коди символів англійського алфавіту, розділових знаків, цифр, символів арифметичних дій і деяких допоміжних символів. Базова таблиця кодування ASCII наведена в таблиці 2.

Підтримка виробників устаткування і програм вивела американський код ASCII на рівень міжнародного стандарту, і національним системам кодування довелося «відступити» в другу, розширену частину системи кодування, що визначає значення кодів з 128 по 255.

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

Для кодування символів російської і української мов, відоме як система кодування Windows-1251, було введено «ззовні» — компанією Microsoft, але, враховуючи широке розповсюдження операційних систем і інших продуктів цієї компанії на Україні і в Росії, вона глибоко закріпилася і знайшла широке розповсюдження (таблиця 3).

Це кодування використовується на більшості комп’ютерів, що працюють під управлінням операційних систем Windows.

Інше поширене кодування носить назву КОИ-8 (код обміну інформацією, восьмизначний) — її походження відноситься до часів дії Ради Економічної Взаємодопомоги держав Східної Європи.

Сьогодні кодування КОИ-8 має значне розповсюдження в комп’ютерних мережах на території Росії і в російському секторі Інтернету.

Таблиця 2. Базова таблиця кодування ASCII

32 пропуск

48 0

64 @

80 Р

96 `

112 p

33!

49 1

65 А

81 Q

97 а

113 q

34 «

50 2

66 B

82 R

98 b

114 r

35 #

51 3

67 C

83 S

99 c

115 s

36 $

52 4

68 D

84 Т

100 d

116 t

37%

53 5

69 Е

85 U

101 e

117 u

38 &

54 6

70 F

86 V

102 f

118 v

39 '

55 7

71 G

87 W

103 g

119 w

40 (

56 8

72 Н

88 X

104 h

120 x

41)

57 9

73 I

89 У

105 i

121 у

42 *

58:

74 J

90 Z

106 j

122 z

43 +

59;

75 K

91 [

107 k

123

45 —

61 =

77 М

93]

109 m

125

46.

62 >

78 N

94 ^

110 n

126 ~

47/

63?

79 О

95 _

111 0

127 

Таблиця 3. Кодування Windows 1251

128 Ђ

144 ђ

160

176°

192 А

208 Р

224 а

240 р

129 Ѓ

145 `

161 Ў

177 ±

193 Б

209 С

225 б

241 с

130,

146 '

162 ў

178 I

194 В

210 Т

226 в

242 т

131 ѓ

147 «

163 Ј

179 i

195 Г

211 У

227 г

243 у

132 «

148 «

164 ¤

180 ґ

196 Д

212 Ф

228 д

244 ф

133.

149

165 Ґ

181 м

197 Е

213 X

229 е

245 х

134 †

150 —

166 ¦

182 ¶

198 Ж

214 Ц

230 ж

246 ц

135 ‡

151 —

167 §

183 ·

199 3

215 Ч

231 з

247 ч

136?

152 ?

168 Ё

184 ё

200 И

216 Ш

232 и

248 ш

137 ‰

153™

169 (c)

185 №

201 Й

217 Щ

233 й

249 щ

138 Љ

154 љ

170 Є

186 є

202 К

218 Ъ

234 к

250 ъ

139 <

155 >

171 «

187 «

203 Л

219 Ы

235 л

251 ы

140 Њ

156

172

188 j

204 М

220 Ь

236 м

252 ь

141 Ќ

157:

173 —

189 S

205 Н

221 Э

237 н

253 э

142 Ћ

158 ћ

174 ®

190 s

206 О

222 Ю

238 о

254 ю

143 Џ

159 џ

175 Ї

191 ї

207 П

223 Я

239 п

255 я

Універсальна система кодування текстових даних UNICODE

Труднощі, пов’язані із створенням єдиної системи кодування текстових даних, викликані обмеженим набором кодів (256). Натомість очевидно, що при кодуванні символів не восьмирозрядними двійковими числами, а числами з більшою кількістю розрядів, то і кількість кодів стане набагато більшою. Така система кодування, заснована на 16-розрядному кодуванні символів, вже розроблена і має назву універсальної - UNICODE. Шістнадцять розрядів дозволяють забезпечити унікальні коди для 65 536 різних символів — це поле достатнє для розміщення в одній таблиці символів більшості мов планети.

Не дивлячись на тривіальну очевидність такого підходу, простий механічний перехід на дану систему довгий час стримувався через недостатні ресурси засобів обчислювальної техніки (в системі кодування UNICODE всі текстові документи автоматично стають удвічі більші). В другій половині 90-х років технічні засоби досягли необхідного рівня забезпеченості ресурсами, і сьогодні ми спостерігаємо поступовий переклад документів і програмних засобів на універсальну систему кодування.

Кодування графічної інформації

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

Для кодування кольорових графічних зображень застосовується принцип декомпозиції довільного кольору на основні складові. При цьому використовують три основні кольори: червоний (Red, R), зелений (Green, G) і синій (Blue, В). Будь-який колір, видимий людським оком, практично можна одержати з доволі непоганою точністю шляхом механічного змішування цих трьох основних кольорів. Така система кодування дістала назву RGB по перших буквах назв основних кольорів. Якщо для кодування яскравості кожної з основних складових використовувати по 256 значень (вісім двійкових розрядів), як це прийнято для пів-тонових чорно-білих зображень, то на кодування кольору однієї точки (піксела) треба витратити 24 розряди. При цьому система кодування забезпечує однозначне визначення 16,5 млн. різних кольорів, що насправді близьке до чутливості людського ока. Режим представлення кольорового зображення з використанням 24 двійкових розрядів називається повнокольоровим (True Color).

Кожному з основних кольорів можна поставити у відповідність додатковий колір, тобто колір, який доповнює основний колір до білого. Неважко помітити, що для будь-якого з основних кольорів додатковим буде колір, утворений сумою пари решти основних кольорів. Відповідно, додатковими кольорами є: блакитний (Cyan, З), пурпурний (Magenta, М) і жовтий (Yellow, У). Принцип декомпозиції довільного кольору на складові компоненти можна застосовувати не тільки для основних кольорів, але і для додаткових, тобто будь-який колір можна подати у вигляді суми блакитної, пурпурної і жовтої складових. Такий метод кодування кольору застосовується в поліграфії, але в поліграфії використовується ще і четверта фарба — чорна (Black, K). Тому дана система кодування позначається чотирма літерами CMYK (чорний колір позначається літерою К, тому, що літера В вже зайнята синім кольором), і для представлення кольорової графіки в цій системі треба мати 32 двійкові розряди. Такий режим теж називається повнокольоровим (True Color).

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

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

Якість графічного зображення залежить від кількості точок (пікселів) на 1 дюйм (для принтерів та сканерів) чи кількістю точок на площі (для моніторів). Цей параметр називається роздільною здатністю і вимірюється для принтерів та сканерів в точках на дюйм — dpi. Роздільна здатність монітора вимірюється кількістю точок по вертикалі та горизонталі і має вигляд mxn.

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

Наприклад, для кольорової картинки, складеної з 256 кольорів в графічному режимі монітора 640×480, потрібен такий об'єм відеопам'яті:

8 640 480 = 2 457 600 (біт) = 307 200 (байт) = 300 (Кбайт).

Кодування звукової інформації

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

Перший напрям базується на методі FM (Frequency Modulation), який полягає в тому, що складний звук можна розкласти на послідовність простих гармонійних сигналів різних частот, кожний з яких є правильною синусоїдою, а отже, може бути описаний числовими параметрами, тобто кодом. В природі звукові сигнали мають неперервний спектр, тобто є аналоговими. Їх подання у вигляді дискретних цифрових сигналів виконують спеціальні пристрої - аналого-цифрові перетворювачі (АЦП). Зворотнє перетворення для відтворення звуку, закодованого числовим кодом, виконують цифро-аналогові перетворювачі (ЦАП). При таких перетвореннях неминучі втрати інформації, пов’язані з методом кодування, тому якість звукозапису звичайно виходить не цілком задовільною і відповідає якості звучання простих електромузичних інструментів із забарвленням, характерним для електронної музики. В той же час даний метод кодування забезпечує досить компактний код, і тому він знайшов застосування ще в ті роки, коли ресурси засобів обчислювальної техніки були явно недостатні.

Другий напрям використовує метод таблично-хвильового (Wave-Table) синтезу і краще відповідає сучасному рівню розвитку техніки. Якщо говорити спрощено, то можна сказати, що десь в наперед підготовлених таблицях зберігаються зразки великої кількості «реальних» звуків. Такі зразки звуків називають семплами. Числові коди відображають тип звуку, номер його моделі, висоту тону, тривалість і інтенсивність звуку, динаміку його зміни, деякі параметри середовища, в якому відбувається звучання, а також інші параметри, що характеризують особливості звуку. Оскільки як зразки використовуються «реальні» звуки, то якість звуку, одержаного в результаті синтезу, дуже висока і наближається до якості звучання реальних музичних інструментів.

Завдання 2. Використовуючи набуті теоретичні знання, розв’яжіть задачі.

1. Запишіть десяткові числа у вісімковій, шістнадцятковій та двійковій системах числення

35+N=35+10=4510=558=2D16=101 1012 - 1 байт інформації;

100+N=100+10=11010=1568=6E16=1 101 1102 - 1 байт інформації;

1000+N=1000+10=101010=17628=3F216=1 111 110 0102 - 2 байта інформації.

Значення N для кожного студента задає викладач.

2. Переведіть з вісімкової та шістнадцяткової систем числення у десяткову та двійкову такі числа

o 1238=8310=1 010 0112 - 1 байт інформації;

o 7658=50110=111 110 1012 - 2 байта інформації;

o 22218=116910=10 010 010 0012 - 2 байта інформації;

o 4378=28710=100 011 1112 - 2 байта інформації;

o 45328=239410=100 101 011 0102 - 2 байта інформації;

o 238=1910=10 0112 - 1 байт інформації;

o 1428=9810=1 100 0102 - 1 байт інформації;

o 24 4328=10 52210=10 100 100 011 0102 - 2 байта інформації;

o 1118=7310=1 001 0012 - 1 байт інформації;

o 7718=50510=111 111 0012 - 2 байта інформації;

o 138=1110=10112 - 1 байт інформації;

o 568=4610=101 1102 - 1 байт інформації;

o 3768=25410=11 111 1102 — 1 байт інформації;

o 12A16=29810=100 101 0102 - 2 байта інформації;

o 7С516=198910=11 111 000 1012 - 2 байта інформації;

o А2116=259310=101 000 100 0012 - 2 байта інформації;

o AС316=275510=101 011 000 0112 - 2 байта інформації;

o E316=22710=11 100 0112 - 1 байт інформації;

o В316=17910=10 110 0112 - 1 байт інформації;

o ВСA16=301810=101 111 001 0102 - 2 байта інформації;

o А43216=42 03410=1 010 010 000 110 0102 - 3 байта інформації;

o 11116=27310=100 010 0012 - 2 байта інформації;

o 79116=193710=11 110 010 0012 - 2 байта інформації;

o АB16=17110=10 101 0112 - 1 байт інформації;

o 5616=8610=1 010 1102 - 1 байт інформації;

o 37816=88810=1 101 111 0002 - 2 байта інформації.

3. Розрахуйте об'єм пам’яті, необхідний для збереження наведених вище чисел.

4. Використовуючи системи кодування ASCII та Windows 1251, записати код свого прізвища, ім'я та по-батькові і визначити необхідний для збереження об'єм пам’яті. Як зміниться об'єм пам’яті при використанні системи кодування UNICODE?

1) Савенко Олена Володимирівна - СОВ

З таблиці кодування Windows 1251 знаходимо коди символів:

С — 20910= 11 010 0012;

О — 20610= 11 001 1102;

В — 19410= 11 000 0102;

Тоді код СОВ — 110 100 011 100 111 017 869 312 — 3 байта інформації у системах кодування ASCII та Windows 1251; 6 байт інформації у системах кодування Unicode.

2) Savenko Olena Volodumurivna - SOV З таблиці кодування ASCII знаходимо коди символів:

S — 8310= 1 010 0112;

O — 7910= 1 001 1112;

V — 8610= 1 010 1102.

Тоді код SOV — 101 001 110 011 111 014 400 — 3 байта інформації у системах кодування ASCII та Windows 1251; 6 байт інформації у системах кодування Unicode.

Для збереження коду трьох символів потрібно три байти у системах кодування ASCII та Windows 1251, оскільки код кожного символу не перевищує одного байта.

Натомість у системі кодування Unicode на збереження коду кожного символу потрібно 2 байти., а отже на збереження трьох символів потрібно шість байт.

5. Визначте об'єм пам’яті, який займе при двійковому кодуванні кольорова картинка:

o розміром 2×4 см при використанні системи кодування RGB;

o розміром 5×6 см при використанні системи кодування CMYK, якщо в кожному квадратному сантиметрі міститься 24×24 точки.

Розв’язання

1) Обчислимо площу картинки: S=2×4=8 (см2). Обчислимо кількість точок на 1 см2: n = 24 · 24 = 576. Обчислимо кількість точок на площі S:

N = 576 · 8 = 4608.

При використанні системи кодування RGB на кодування кольору однієї точки потрібно три байти. Тоді на кодування кольору всіх точок потрібно

V = 3 · 4608 = 13 824 (байт) =13 824: 1024 (Кбайт) 13,5 (Кбайт)

0,01 (Мбайт).

2) Обчислимо площу картинки: S=5×6=30 (см2). Обчислимо кількість точок на 1 см2: n = 24 · 24 = 576. Обчислимо кількість точок на площі S:

N = 576 · 30 = 17 280.

При використанні системи кодування CMYK на кодування кольору однієї точки потрібно чотири байти. Тоді на кодування кольору всіх точок потрібно

V = 4 · 17 280 = 69 120 (байт) = 69 120: 1024 (Кбайт) 67,5 (Кбайт)

0,07 (Мбайт).

6. Обчисліть роздільну здатність для умов задачі 5.

Завдання 3. Оформіть звіт, зробіть висновки і захистіть виконану практичну роботу.

Перелік питань до захисту практичної роботи

1. Яку систему числення називають позиційною?

2. Як перевести натуральне число з десяткової системи числення в позиційну систему числення з іншою основою?

3. Як перевести натуральне число з двійкової системи числення в позиційні системи числення з основами 10, 8, 16?

4. Як кодуються дійсні числа? Яка форма запису числа називається нормалізованою?

5. Якими одиницями вимірюється інформація?

6. Скількома байтами кодується символ у системах кодування ASCII, Windows 1251 та UNICODE?

7. Які різновиди комп’ютерної графіки існують?

8. Скількома байтами кодується колір точки растрового зображення у системах кодування RGB, CMYK та при кодуванні чорно-білих зображень?

9. Якою одиницею вимірюється роздільна здатність зображення?

10. Які сучасні методи кодування звуку існують?

1. Під системою числення розуміють спосіб представлення будь-якого числа за допомогою деякого алфавіту символів, званих цифрами. Системи числення бувають позиційними і непозиційними. У позиційних системах числення значущість (вага) кожної цифри числа залежить від позиції, яку вона займає. Значення числа, що складається з n цифр, може бути визначено таким чином:

n-1Хn-2Хn-3Хn-4 … Х1Х0) m = Хn-1. mn-1 + Хn-2. mn-2 + … +Х0. m0

де m — основа системи числення;

хi - символ в і-й позиції, 0? х і ?m; 0? і? (n-1);

mi — вага і-го знакомісця.

Для десяткової системи числення m = 10, символи, що використовуються: 0ч9.

Приклад:

76110 = 7· 102 + 6· 101 + 1·100.

Окрім десяткової системи числення широке поширення в інформатиці мають позиційні системи числення з основами 2, 8, 16.

Електронні блоки комп’ютера можуть обробляти інформацію, представлену тільки в цифровій формі, причому зазвичай комп’ютери працюють з двійковою системою числення: m=2; символи 1 і 0.

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

Розглянемо представлення чисел в двійковій системі числення. Вага знакомісць:

2°=1, 21= 2, 22 = 4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 210=1024, 216=65 536.

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

2. Переведення числа з десяткової системи числення в двійкову

Переведення числа з десяткової системи в двійкову здійснюється за наступними алгоритмами:

ціле десяткове число ділиться порівну на основу 2, потім на 2 діляться послідовно всі частки від цілочисельного ділення, доки частка не стане менша за основу. В результат заноситься остання частка і всі залишки від ділення, починаючи з останнього. Наприклад:

22710= 11 100 0112;

Переведення числа з десяткової системи в m-кову систему числення виконується шляхом цілочисельного ділення десяткового числа на основу системи числення m до тих пір, поки частка не стане менше за дільник. Так, наприклад, перетворення десяткового числа 572 в шістнадцяткову систему здійснюється таким чином:

3. Переведення числа з двійкової системи числення в десяткову можна здійснювати для цілої і дробової частин числа по одному алгоритму шляхом обчислення суми добутку цифр двійкового числа на вагу її знакомісця:

11 100 011,101000112 = 1 27 + 1 26+ 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 1 20 +1 2-1 + 0 2-2+ 1 2-3 + 0 2-4 + 0 2-5 + 0 2-6+ + 1 2-7 +1 2-8 = 128 +

+64 + 32 + 2 + 1 +0,5 + 0,125 + 0,0078 + 0,0039 = 227,6367

Вісімкова та шістнадцяткова системи числення

Двійкова система числення незручна для використовування людиною, тому програмісти використовують вісімкову (m=8, символи, що використовуються, 07) і шістнадцяткову (m=16, символи, що використовуються, 09, AF) системи числення (табл. 1).

Табл.1 Співвідношення між числами систем числення

Десяткова

Двійкова

Вісімкова

Шістнадцяткована

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

А

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

Е

15

1111

17

F

Кожна трійка двійкових розрядів відповідає одній вісімковій цифрі (див. таб. А), а кожна четвірка двійкових розрядів — шістнадцятковій цифрі (див. таб. Б). Звідси випливає правило переведення з двійкової системи у вісімкову і шістнадцяткову системи числення. Відокремлювати розряди у записі двійкового числа слід справа наліво. Якщо початкова кількість цифр не кратна 3 (при переведенні числа у вісімкову систему числення) або 4 (при переведенні числа у шістнадцяткову систему числення), дописуються нулі зліва.

Наприклад:

c) 11 110 0112= 1111 00112 = F316

d) 111 010 0112 = 111 010 0112 =7238.

Зворотнє перетворення аналогічне:

c) А916=1010 10012 =10 101 0012

d) 3758=011 111 1012=11 111 1012.

4. Дійсні числа, представлені у формі з плаваючою крапкою.

Будь-яке дійсне число N можна подати у вигляді N = ±A 2 ±p, де, А — мантиса, m — основа системи числення, р — характеристика (або порядок) числа. Якщо після коми в мантисі стоїть не нуль, то число називається нормалізованим справа. Нормалізоване число одинарної точності (до семи значущих цифр) розміщується в пам’яті в 32 бітах таким чином:

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

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

Порядок числа з плаваючою комою змінюється в діапазоні від — 127 до +128. Для того, щоб порядок був завжди додатнім, його приймають збільшеним на 127:

P Зміщ = P + 127.

Такий спосіб представлення порядку називають зміщеним. Нормалізоване число подвійної точності розміщується в пам’яті в 80 бітах, причому під мантису відводиться 55 біт.

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

5. Для вимірювання обсягу інформації використовуються крупніші одиниці:

1 Кбайт = 1024 байт (210 байт)

1 Мбайт = 1024 Кбайт (220 байт)

1 Гбайт = 1024 Мбайт (230 байт)

1 Тбайт = 1024 Гбайт (240 байт)

1 Пбайт = 1024 Тбайт (250 байт)

1 Ебайт = 1024 Пбайт (260 байт).

6. Для того, щоб весь світ однаково кодував текстові дані, потрібні єдині таблиці кодування. Для англійської мови, що захопила де-факто нішу міжнародного засобу спілкування Інститут стандартизації США (ANSI - American National Standard Institute) ввів в дію систему кодування ASCII (American Standard Code for Information Interchange - стандартний код інформаційного обміну США). В системі ASCII закріплено дві таблиці кодування — базова і розширена. Базова таблиця закріплює значення кодів від 0 до 127, а розширена відноситься до символів з номерами від 128 до 255. Перші 32 коди базової таблиці, починаючи з нульового, віддано виробникам апаратних засобів (в першу чергу виробникам комп’ютерів і друкуючих пристроїв). В цій області розміщуються так звані управляючі коди, яким не відповідають ніякі символи мов, і, відповідно, ці коди не виводяться ні на екран, ні на пристрої друку, але ними можна управляти тим, як проводиться виведення інших даних. Починаючи з коду 32 і закінчуючи кодом 127 розміщені коди символів англійського алфавіту, розділових знаків, цифр, символів арифметичних дій і деяких допоміжних символів. Базова таблиця кодування ASCII наведена в таблиці 2.

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

Для кодування символів російської і української мов, відоме як система кодування Windows-1251, було введено «ззовні» — компанією Microsoft, але, враховуючи широке розповсюдження операційних систем і інших продуктів цієї компанії на Україні і в Росії, вона глибоко закріпилася і знайшла широке розповсюдження (таблиця 3). Це кодування використовується на більшості комп’ютерів, що працюють під управлінням операційних систем Windows.

ПоказатьСвернуть
Заполнить форму текущей работой