Skip to main content
LibreTexts - Ukrayinska

2.1: Розмір простору символів

  • Page ID
    29896
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Перше питання, на яке слід звернути увагу, - це кількість символів, які потрібно закодувати. Це називається символом розміру простору. Ми розглянемо символьні простори різних розмірів:

    • 1
    • 2
    • Інтегральна потужність 2
    • скінченний
    • Нескінченний, лічильний
    • Нескінченний, незліченний

    Якщо кількість символів дорівнює 2, то виділення можна закодувати одним бітом. Якщо кількість можливих символів дорівнює 4, 8, 16, 32, 64 або інша інтегральна сила 2, то вибір може бути закодований в кількості бітів, рівних логарифму, основи 2, розміру простору символу. Таким чином, 2 біти можуть позначити масть (трефи, діаманти, серця або піки) гральної карти, а 5 біт можуть кодувати вибір одного учня в класі 32. Як окремий випадок, якщо символ є лише один, біти для його вказівки не потрібні. Дрейдель - це чотиристороння іграшка, позначена єврейськими літерами, і закручена як вершина в дитячій грі, особливо в Хануці. Результат кожного спина може бути закодований в 2 біти.

    Якщо кількість символів кінцева, але не інтегральна сила 2, то кількість бітів, які працювали б для наступної вищої інтегральної потужності 2, може бути використано для кодування виділення, але будуть деякі невикористані бітові шаблони. Приклади включають 10 цифр, шість граней кубічної матриці, 13 номіналів гральної карти та 26 букв англійського алфавіту. У кожному випадку є запасна ємність (6 невикористаних шаблонів в 4-бітному поданні цифр, 2 невикористані шаблони в 3-бітному поданні матриці і т.д.) Що робити з цією запасною ємністю - важливе дизайнерське питання, про який піде мова в наступному розділі.

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

    Якщо кількість символів нескінченна і незліченна (наприклад, значення фізичної величини, такої як напруга або акустичний тиск), то деякий метод «дискретизації» повинен бути використаний для заміни можливих значень кінцевим числом вибраних значень, які приблизно однакові. Наприклад, якщо цифри від 0 до 1 були символами, і якщо для кодованого представлення були доступні 2 біти, один підхід може полягати в тому, щоб наблизити всі числа від 0 до 0,25 числом 0,125, всі числа між 0,25 і 0,5 на 0,375 і так далі. Чи адекватне таке наближення залежить від того, як будуть використані декодовані дані. Наближення не є оборотним, оскільки немає декодера, який буде відновлювати оригінальний символ, враховуючи лише код для приблизного значення. Однак якщо кількість доступних бітів досить велика, то для багатьох цілей декодер може надати число, яке досить близько. Подання дійсних чисел з плаваючою точкою в комп'ютерах базується на цій філософії.