Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИЖ.docx
Скачиваний:
3
Добавлен:
23.11.2018
Размер:
29.43 Кб
Скачать

1.3.6. Подання символьних даних

Як ви вже знаєте, комп'ютер може оперувати тільки двійковими числами. Тому у вас може виникнути питання: як же тоді в ньому повинні зберігатися символи ¬ ні дані? Для цього потрібно заздалегідь визначити таблицю символів, з допомогою якої буде встановлено взаємно однозначна відповідність між символами алфавіту і

цілими числами. До недавнього часу коди, складові таблиці символів, були 8-розрядними. Однак оскільки в світі існує величезна кількість мов, що мають абсолютно різну структуру, для їх підтримки в комп'ютері була створена універсальна 16-розрядна кодова таблиця, яку назвали Unicode6

При роботі в текстовому режимі, такому як сеанс MS DOS, в сумісних з IBM PC комп'ютерах використовується стандартна таблиця символів ASCII. Ця абревіатура рас ¬ шіфровивается як American Standard Code for Information Interchange, або Американський стандартний код обміну інформацією. У таблиці ASCJI кожному символу призначається стандартний унікальний 7-розрядний двійковий код.

Так як в ASCII-кодах використовуються тільки молодші 7 бітів кожного байта, то до ¬ виконавчий 8-й біт може використовуватися на різних комп'ютерних платформах для підтримки локальної таблиці символів. Наприклад, в сумісних з IBM PC ком ¬ пьютера значення кодів ASCII-таблиці в діапазоні від 128 до 255 використовуються для подання псевдографічні символів, а також символів грецького алфавіту.

ASCII-строки. Послідовність одного або декількох символів називається рядком. Рядки у форматі ASCII (або ASCII-строки) зберігаються в пам'яті комп'ютера у вигляді послідовності байтів, що містять ASCII-коди. Наприклад, текстової рядку "АВС123" відповідає послідовність байтів, заданих в шістнадцятковому ви ¬ де (про це свідчить символ "h", як зазначається в кінці числа): 41h, 42h, 43h, 31h, 32h і 33h. Якщо в кінці послідовності символів знаходиться байт, що містить ну ¬ ліве значення 0Oh, такий рядок називається нуль-завершеною (null-terminated) і позначення ¬ чає як ASCIIZ. Нуль-завершені рядка широко використовуються в таких мовах програмування, як С і С + +. Крім того, ці рядки у форматі ASCIIZ часто пере ¬ даються у вигляді параметрів при виклику функцій операційних MS DOS і Windows.

Використання ASCII-таблиць. У додатку Д, "Довідкова інформація", наведена досить зручна для користування таблиця ASCII-кодів, яка застосовується при створенні додатків, що працюють в середовищі MS DOS. Щоб знайти в таблиці шестнадца-терічний код потрібного символу, слід поглянути на рядок і стовпець, на перетині яких він розташований в таблиці. Старша шістнадцяткова цифра коду знаходиться у другому рядку таблиці зверху, а молодша цифра - у другому стовпці ліворуч. У качест ¬ ве прикладу визначимо ASCII-код англійської букви "а". Для початку знайдемо стовпець, в якому знаходиться буква "а" і поглянемо на другий рядок зверху. Старшій шістнадцяти-річної цифрою коду буде 6. Далі поглянемо на другий стовпець таблиці ліворуч і визна-лим молодшу цифру шістнадцяткового коду. Це буде цифра 1. Таким чином, ASCII-кодом англійської букви "а" буде 61h. Прояснити ситуацію допоможе рис. 1.10.

У програмах, написаних для системи Windows, використовується абсолютно інша таблиця символів. Тому для визначення коду конкретного символу скористатися однієї простої таблицею не вдасться. Щоб дізнатися, як визначити код потрібного вам сим ¬ вола, зверніться до документації фірми Microsoft по шрифтах.

Рис. 1.10. Приклад визначення ASCII-коду англійської букви "а '

Термінологія, яка використовується при описі представлення числових даних. При описа ¬ нии способів представлення чисел і символів в пам'яті комп'ютера і на екрані моні ¬ тора дуже важливо використовувати точну термінологію. Давайте як приклад рас ¬ дивимося десяткове число 65. При збереженні в пам'яті комп'ютера воно буде займати 1 байт, що містить таку послідовність бітів: 01000001. При перегляді содер ¬ жімого пам'яті в відладчик, швидше за все, ви побачите байт, що містить значення 4 lh, який є шістнадцятковій формою подання зазначеної вище послідовно-сті бітів. Однак якщо при виконанні програми це значення буде записано в відеопам'ять комп'ютера, на екрані з'явиться англійська літера "А". Так станеться по ¬ тому, що число 01000001 відповідає ASCII-коду англійської літери "А". Іншими словами, інтерпретація числа в комп'ютері сильно залежить від того, в якому контексті воно використовується.

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

1.3.1.15. Двійкові числа зберігаються в пам'яті комп'ютера в "первозданному вигляді", тобто в такому вигляді, щоб можна було їх використовувати безпосередньо при обчисленнях. Розмір пам'яті, що виділяється для зберігання двійкового числа, завжди кратний байту, або 8 бітам (тобто 8, 16, 32, 48 або 64 біти).

1.3.1.16. Числові ASCII-строки - це звичайні текстові рядки, що складаються з ASCII-символів, які відповідають числам, таким як "123" або "65". Ця форма пред ¬ дання чисел зазвичай використовується в програмах, причому вона може істота ¬ вать в декількох форматах. Як приклад в табл. 1.15 показано уявлення десяткового числа 65 в вигляді числової ASCII-строки при використанні різних форматів.

"

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]