Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Представлення символьних даних в ЕОМ
Серед даних, що зберігаються й обробляються в комп'ютері, значну частину складають символи (characters). Це програми на алгоритмічній мові, довідкові дані і тексти коментарів для реалізації діалогу користувач ‑ комп'ютер, облікові дані, пояснення і заголовки формованих документів і т.д. Саме вони забезпечують можливість спілкування з комп'ютером при впровадженні разнообразнейший систем обробки інформації.
Символи (букви латинського і російського алфавітів, арабські цифри від 0 до 9, множина спеціальних символів: +, -, /, *, @, $,?, % і ін.), як і будь-яка інша інформація, зберігаються в комп'ютері в числовій формі. Для цього кожному символові ставиться у відповідність деяке позитивне число, що називається кодом символу, і це число записується в пам'ять комп'ютера в двійковому виді.
У комп'ютері з операційною системою MS DOS код кожного символу зберігається в одному байті, тому коди символів можуть приймати значення від 0 до 255. Таке кодування називають однобайтным. Воно дозволяє використовувати до 256 різноманітних символів. Найбільш розповсюдженим є стандартний американський код для обміну інформацією (American Standard Code for Information Interchange — ASCII). Це основний 7-бітовий двійковий код, у якому представляються алфавітні, цифрові і спеціальні символи.
Символи можуть бути керуючі (коди 0..31, 127) і видимі на екрані дисплея або на папері при друку (коди 32..126) — з них утворяться рядки символів. Керуючі символи ASCII ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │ 00 00│ ☺ 01 01│ ☻ 02 02│ ♥ 03 03│ ♦ 04 04│ ♣ 05 05│ ♠ 06 06│ ● 07 07│ │ ◘ 08 08│ ○ 09 09│ ◙ 10 0A │ ♂ 11 0B│ ♀ 12 0C│ ♪ 13 0D │ ♫ 14 0E│ ☼ 15 0F│ │ ► 16 10│ ◄ 17 11│ ↕ 18 12│ ‼ 19 13│ ח 20 14│ § 21 15│ ▬ 22 16│ ↨ 23 17│ │ ↑ 24 18│ ↓ 25 19│ → 26 1A │ ← 27 1B│ ∟ 28 1C│ ↔ 29 1D│ ▲ 30 1E│ ▼ 31 1F│ └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ де, ● ‑ 07 (дзвоник), ○ ‑ 09 (горизонтальна табуляція), ◙ ‑ 0A (переведення рядка), ♂ ‑ 0B (вертикальна табуляція), ♪ ‑ 0D (вороття каретки), → ‑ 1A (конец текстового файла) Фрагмент таблиці кодів ASCII (866 – MS DOS) ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │ 32 20│! 33 21│ " 34 22│ # 35 23│ $ 36 24│ % 37 25│ & 38 26│ ' 39 27│ │ (40 28│) 41 29│ * 42 2A│ + 43 2B│, 44 2C│ - 45 2D│. 46 2E│ / 47 2F│ │ 0 48 30│ 1 49 31│ 2 50 32│ 3 51 33│ 4 52 34│ 5 53 35│ 6 54 36│ 7 55 37│ │ 8 56 38│ 9 57 39│: 58 3A│; 59 3B│ < 60 3C│ = 61 3D│ > 62 3E│? 63 3F│ │ @ 64 40│ A 65 41│ B 66 42│ C 67 43│ D 68 44│ E 69 45│ F 70 46│ G 71 47│ │ H 72 48│ I 73 49│ J 74 4A│ K 75 4B│ L 76 4C│ M 77 4D│ N 78 4E│ O 79 4F│ │ P 80 50│ Q 81 51│ R 82 52│ S 83 53│ T 84 54│ U 85 55│ V 86 56│ W 87 57│ │ X 88 58│ Y 89 59│ Z 90 5A │ [ 91 5B│ \ 92 5C│ ] 93 5D│ ^ 94 5E│ _ 95 5F│ │ ` 96 60│ a 97 61│ b 98 62│ c 99 63│ d 100 64│ e 101 65│ f 102 66│ g 103 67│ │ h 104 68│ i 105 69│ j 106 6A│ k 107 6B│ l 108 6C│ m 109 6D│ n 110 6E│ o 111 6F│ │ p 112 70│ q 113 71│ r 114 72│ s 115 73│ t 116 74│ u 117 75│ v 118 76│ w 119 77│ │ x 120 78│ y 121 79│ z 122 7A │ { 123 7B│ ¦ 124 7C│ } 125 7D│ ~ 126 7E│ ⌂ 127 7F│ └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ Неважко помітити, що для представлення символів досить одного байта. Але в байті містяться 8 біт. Залишається незадіяної добра половина кодової таблиці. Тому коди 128..255 виділені для так званих національних символів і алфавітів, а також для символів псевдографіки. Наприклад, для кирилиці в операційній системі MS DOS досить довгий час існували три різні кодові таблиці, поки не був прийнятий єдиний стандарт — зупинилися на так називаному альтернативному кодуванні (866). ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │ А 128 80│ Б 129 81│ В 130 82│ Г 131 83│ Д 132 84│ Е 133 85│ Ж 134 86│ З 135 87│ │ И 136 88│ Й 137 89│ К 138 8A│ Л 139 8B│ М 140 8C│ Н 141 8D│ О 142 8E│ П 143 8F│ │ Р 144 90│ С 145 91│ Т 146 92│ У 147 93│ Ф 148 94│ Х 149 95│ Ц 150 96│ Ч 151 97│ │ Ш 152 98│ Щ 153 99│ Ъ 154 9A│ Ы 155 9B│ Ь 156 9C│ Э 157 9D│ Ю 158 9E│ Я 159 9F │ │ а 160 A0│ б 161 A1│ в 162 A2│ г 163 A3│ д 164 A4│ е 165 A5│ ж 166 A6│ з 167 A7│ │ и 168 A8│ й 169 A9│ к 170 AA│ л 171 AB│ м 172 AC│ н 173 AD│ о 174 AE│ п 175 AF│ └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ Тут розташовуються символи псевдографіки: коди від 176 (B0) до 223(DF). ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ │ р 224 E0│ с 225 E1│ т 226 E2│ у 227 E3│ ф 228 E4│ х 229 E5│ ц 230 E6│ ч 231 E7│ │ ш 232 E8│ щ 233 E9│ ъ 234 EA│ ы 235 EB│ ь 236 EC│ э 237 ED│ ю 238 EE│ я 239 EF│ │ Ё 240 F0│ ё 241 F1│ Є 242 F2│ є 243 F3│ Ї 244 F4│ ї 245 F5│ ± 246 F6│ ≈ 247 F7│ │ ▬ 248 F8│ • 249 F9│ · 250 FA│ √ 251 FB│ ♦ 252 FC│ ○ 253 FD│ ● 254 FE│ 255 FF│ └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ Аналіз таблиці ASCII-кодів, дозволяє констатувати наступне: ▪ Код пробілу менше коду будь-якої букви і цифри і взагалі менше коду будь-якого символу. Коди цифр упорядковані по зростанню і йдуть без пропусків. ▪ Коди великих і маленьких латинських букв упорядковані за алфавітом і йдуть без пропусків. В альтернативному кодуванні коди російських букв (великі і маленьких) упорядковані за алфавітом, але якщо коди великих букв йдуть без пропусків, то між кодами маленьких букв 'п' і 'р' вклиниваються коди інших символів. Примітка: При локалізації Windows використана кодова таблиця ANSI 1251. У ній, у порівнянні з таблиці ASCII, коди символів від ′А′ до ′п′ більше на 6410 і від ′р′ до ′я′ більше на 1610. Мова програмування Паскаль має наступний набір убудованих функцій роботи із символами: Chr(X: Byte): Char - Повертає символ ASCII перемінної X. Ord(C: Char): Byte - Повертає ASCII-код символу C. Pred(C:Char): Char - Повертає попередній C символ Succ(C:Char): Char - Повертає наступний за C символ Upcase(C:Char):Char -Переводить символ (латинь) нижнього регістра у верхній регістр 6. Приклади розробки алгоритмів і програм теми «Представлення символьних даних в ЕОМ» Приклад 1 Розробити алгоритм і скласти програму введення з клавіатури будь-якого символу і виводу на екран цього введеного символу і його коду в 10 системі числення.
|