4.1. Кодирование числовой информации

4.1.1. Представление числовой информации с помощью систем счисления

 

Для записи информации о количестве объектов используются числа. Числа записываются с использованием особых знаковых систем, которые называются системами счисления. Алфавит системы счисления состоит из символов, которые называются цифрами.

Система счисления — это знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами.

Все системы счисления делятся на две большие группы: позиционные и непозиционные. В позиционных системах счисления количественное значение цифры зависит от ее положения в числе, а в непозиционных — не зависит.

Непозиционные системы счисления. Как только люди начали считать, у них появилась потребность в записи чисел. Находки археологов на стоянках первобытных людей свидетельствуют о том, что первоначально количество предметов отображали равным количеством каких-либо значков: зарубок, черточек, точек.

Такая система записи чисел называется единичной, так как любое число в ней образуется путем повторения одного знака, символизирующего единицу. Единичной системой счисления пользуются малыши, показывая на пальцах свой возраст или используя для этого счетные палочки.

Примером непозиционной системы, которая сохранилась до наших дней, может служить римская система счисления, которая начала применяться более двух с половиной тысяч лет назад в Древнем Риме. В основе римской системы счисления лежат знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для числа 10, а для обозначения чисел 100, 500 и 1000 используются латинские буквы С, D и М.

В римской системе счисления количественное значение цифры не зависит от ее положения в числе. Например, в римском числе XXX (30) цифра X встречается трижды и в каждом случае обозначает одну и ту же величину — число 10, три раза по 10 в сумме дают 30.

Чтобы записать число в римской системе счисления, необходимо разложить его на сумму тысяч, полутысяч, сотен, полусотен, десятков, пятков, единиц. Например, десятичное число 28 представляется следующим образом:

XXVIII =10+10 + 5 + 1 + 1 + 1 (два десятка, пяток, три единицы).

При записи чисел в римской системе счисления применяется правило: каждый меньший знак, поставленный слева от большего, вычитается из него, в остальных случаях знаки складываются. Например, римское число IX обозначает 9 (-1 + 10), а XI обозначает 11 (10 + 1). Число 99 имеет следующее представление в римской системе счисления:

XCIX = -10 + 100 - 1 + 10.

Позиционные системы счисления. Каждая позиционная система счисления имеет определенный алфавит цифр и основание. Основание системы равно количеству цифр (знаков) в ее алфавите.

В позиционных системах счисления количественное значение цифры зависит от ее позиции в числе. Позиция цифры в числе называется разрядом. Разряды числа возрастают справа налево, от младших разрядов к старшим, причем значения одинаковых цифр, стоящих в соседних разрядах числа, различаются на величину основания.

В настоящее время наиболее распространенными позиционными системами счисления являются десятичная и двоичная. Десятичная система счисления имеет алфавит цифр, который состоит из десяти всем известных, так называемых арабских цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Алфавит двоичной системы — две цифры {0, 1} (табл. 4.1).

image083 

Десятичная система счисления. В десятичной системе счисления цифра в крайней справа позиции обозначает единицы, цифра, смещенная на одну позицию влево, обозначает десятки, еще левее — сотни, затем тысячи и т. д. Рассмотрим в качестве примера десятичное число 555. Цифра 5 встречается в числе трижды, причем самая правая обозначает пять единиц, вторая справа — пять десятков и, наконец, третья — пять сотен.

В развернутой форме записи числа умножение цифр числа на основание производится в явной форме. Так, в развернутой форме запись числа 555 в десятичной системе будет выглядеть следующим образом:

55510 = 5*102 + 5*101 + 5*10°.

Для записи десятичных дробей используются разряды с отрицательными значениями степеней основания. Например, число 555,55 в развернутой форме будет записываться следующим образом:

5 55,5510 = 5*102 + 5*101 + 5*10°+ 5*10-1 + 5*10-2.

Выше десятичное число 555 было записано в привычной для нас свернутой форме. Мы настолько привыкли к такой форме записи, что уже не замечаем, как в уме умножаем цифры числа на различные степени числа 10, которое является основанием десятичной системы счисления.

Число в позиционной системе счисления записывается в виде суммы числового ряда степеней

основания, в качестве коэффициентов которых выступают цифры данного числа.

 

Умножение или деление десятичного числа на 10 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной, на один разряд соответственно вправо или влево. Например:

555,5510 • 10 = 5555,510, 555,5510 : 10 = 55,55510.

Двоичная система счисления. Числа в двоичной системе в развернутой форме записываются в виде суммы ряда степеней основания 2 с коэффициентами, в качестве которых выступают цифры 0 или 1.

Например, развернутая запись двоичного числа выглядит следующим образом:

А2 = 1*22 + 0*21 + 1*2° + 0*2-1 + 1*2-2.

Это же число в свернутой форме:

А2 = 101,012.

Умножение или деление двоичного числа на 2 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной, на один разряд соответственно вправо или влево. Например:

101,012 • 2 = 1010,12,

101,012 : 2 = 10,1012.

Первая позиционная система счисления была придумана еще в древнем Вавилоне, причем вавилонская нумерация была шестидесятиричной, т. е. в ней использовалось шестьдесят цифр! Интересно, что до сих пор при измерении времени мы используем основание 60 (в 1 минуте содержится 60 секунд, а в 1 часе — 60 минут).

В XIX веке довольно широкое распространение получила двенадцатиричная система счисления. До сих пор мы часто употребляем дюжину (число 12): в сутках две дюжины часов, круг содержит тридцать дюжин градусов и т. д.

В информатике широко используются восьмеричная и шестнадцатиричная системы счисления. В восьмеричной системе основание равно 8 и алфавит состоит из восьми цифр {0, 1, 2, 3, 4, 5, 6, 7}. Запишем восьмеричное число 77 в свернутой и развернутой формах и переведем его в десятичную систему счисления: 778 = 7*81 + 7*8° = 6310.

В шестнадцатеричной системе основание равно 16 и алфавит состоит из шестнадцати цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F}, причем первые десять цифр имеют общепринятое обозначение, а для записи остальных цифр {10, 11, 12, 13, 14, 15} используются первые шесть букв латинского алфавита. Запишем шестнад- цатеричное число в свернутой и развернутой формах и переведем его в десятичную систему счисления:

image084 

Контрольные вопросы

  1. Чем отличаются позиционные системы счисления от непозиционных?
  2. Каково основание десятичной системы счисления? Двоичной системы счисления?
  3. Какие цифры входят в алфавит десятичной системы счисления? Двоичной системы счисления?
    1. На какую величину в позиционных системах счисления различаются одинаковые цифры, стоящие в соседних разрядах числа?
    2. Может ли в качестве цифры использоваться символ буквы?

Задания для самостоятельного выполнения

  1. Задание с кратким ответом. Запишите числа 3,1410 и 10,12 в развернутой форме.
  2. Задание с кратким ответом. Во сколько раз увеличатся числа Ю,

110 и 10,12 при переносе запятой на один знак вправо?

  1. Задание с кратким ответом. При переносе запятой на два знака вправо число 11,11 увеличилось в 4 раза. Чему равно основание системы счисления x?
  2. Задание с кратким ответом. Какое минимальное основание может иметь система счисления, если в ней записано число 11? Число 99?
  3. Задание с кратким ответом. Запишите год, месяц и число своего рождения с помощью римских цифр.

 

4.1.2. Перевод чисел в позиционных системах счисления

Человек использует десятичную систему счисления, а компьютер — двоичную систему счисления. Поэтому часто возникает необходимость перевода чисел из десятичной системы в двоичную и наоборот.

Перевод чисел из двоичной системы счисления в десятичную систему счисления. Преобразование чисел из двоичной системы счисления в десятичную выполнить довольно легко. Для этого необходимо записать двоичное число в развернутой форме и вычислить его значение.

Возьмем любое двоичное число, например 10,112. Запишем его в развернутой форме и произведем вычисления:

Перевод целых чисел из десятичной системы счисления в двоичную систему счисления. Алгоритм перевода целого десятичного числа в двоичное следующий:

  1. последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы счисления (на 2) до тех пор, пока частное от деления не окажется равным нулю;
  2. получить искомое двоичное число, для чего записать полученные остатки в обратной последовательности.

image085

В качестве примера рассмотрим перевод десятичного числа 1910 в двоичную систему счисления, записывая результаты в таблицу (табл. 4.2).

 

image086 

Перевод десятичных дробей в двоичную систему счисления. Алгоритм перевода десятичной дроби в двоичную следующий:

  1. последовательно выполнять умножение исходной десятичной дроби и получаемых дробей на основание системы (на 2) до тех пор, пока не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений;
  2. получить искомую двоичную дробь, записав полученные целые части произведений в прямой последовательности. В качестве примера рассмотрим перевод десятичной дроби 0,7510 в двоичную систему, записывая результаты в таблицу (табл. 4.3).

image087

Перевод чисел, содержащих и целую, и дробную часть, производится в два этапа. Отдельно переводится по соответствующему алгоритму целая часть и отдельно — дробная. В итоговой записи полученного числа целая часть от дробной отделяется запятой.

Задания для самостоятельного выполнения

  1. Задание с развернутым ответом. Переведите в десятичную систему двоичные числа: 1012, 1102, 1112.
  2. Задание с развернутым ответом. Переведите целое десятичное число 1010 в двоичную систему счисления.
  3. Задание с развернутым ответом. Переведите десятичную дробь 0,2510 в двоичную систему счисления.
  4. Задание с развернутым ответом. Переведите десятичное число 10,2510 в двоичную систему счисления.

 

4.1.3. Арифметические операции в позиционных системах счисления

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

О + 0 = О,

0 + 1 = 1,

1 + 0 = 1,

1 + 1 = 10.

Важно обратить внимание на то, что при сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания системы счисления, для двоичной системы счисления — большей или равной 2.

Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа 1102 и 112.

Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим.

image088 

Теперь переведем результат двоичного сложения в десятичное число.

image089 

Сравнение результатов показывает, что сложение выполнено правильно.

image090 

Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой.

Вычитание многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей вычитания с учетом возможных заемов из старших разрядов. В качестве примера произведем вычитание двоичных чисел 1102и 112.

image091 image092

Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел:

image093 image094

Умножение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей умножения по обычной схеме, применяемой в десятичной системе счисления с последовательным умножением множимого на очередную цифру множителя. В качестве примера произведем умножение двоичных чисел 1102 и 112.

Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 1102 на 112.

image095 

Для проведения арифметических операций над числами, выраженными в различных системах счисления, необходимо предварительно перевести их в одну и ту же систему.

Задания для самостоятельного выполнения

4.10. Задание с развернутым ответом. Выполните сложение, вычитание, умножение и деление двоичных чисел 10102 и 102.

4.1.4. Двоичное кодирование чисел в компьютере

Числа в компьютере хранятся и обрабатываются в двоичной системе счисления. Оперативная память компьютера состоит из ячеек, в каждой из которых может храниться 8 битов информации, т. е. 8 разрядов двоичного числа.

Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а запятая находится справа после младшего разряда, т. е. вне разрядной сетки.

image096 

Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 битов). Например, число А2 = = 111100002 будет храниться в ячейке памяти следующим образом:

image097 

Определим диапазон чисел, которые могут храниться в оперативной памяти в формате целого неотрицательного числа. Минимальное число записывается в восьми разрядах памяти восемью нулями и равно 0. Максимальное число записывается восемью единицами и равно:

Таким образом, диапазон изменения целых неотрицательных чисел — от 0 до 255.

Для хранения целых чисел со знаком отводится две ячейки памяти (16 битов), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное, записывается 1).

 

Например, отрицательное число -200210 = 111110100102 будет представлено в 16-разрядном представлении следующим образом:

image098 

Максимальное положительное число (с учетом выделения одного разряда на знак) для данного формата представления равно:

А = 215 - 1 = 32 76710.

Достоинствами представления чисел в формате с фиксированной запятой являются простота и наглядность представления чисел, а также простота алгоритмов реализации арифметических операций. Недостатком является небольшой диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые дробные, так и очень большие числа.

Для представления чисел в диапазоне от очень маленьких дробей до очень больших чисел с высокой точностью используется формат с плавающей запятой. В этом случае положение запятой в записи числа может изменяться. Число в форме с плавающей запятой занимает в памяти компьютера 4 байта (число обычной точности) или 8 байтов (число двойной точности).

Задания для самостоятельного выполнения

4.11. Задание с развернутым ответом. В каком виде будет храниться в компьютере десятичное число 1010 в формате целого неотрицательного числа и целого числа со знаком?

получения документа в текстовом формате необходимо провести распознавание текста, т. е. преобразовать элементы графического изображения в последовательность текстовых символов.

Системы оптического распознавания символов сначала определяют структуру размещения текста на странице и разбивают его на отдельные области: колонки, таблицы, изображения и т. д. Далее выделенные текстовые фрагменты графического изображения страницы разделяются на изображения отдельных символов.

Для отсканированных документов типографского качества (достаточно крупный шрифт, отсутствие плохо напечатанных символов или исправлений) распознавание символов проводится путем их сравнения с растровыми шаблонами.

Растровое изображение каждого символа последовательно накладывается на растровые шаблоны символов, хранящиеся в памяти системы оптического распознавания. Результатом распознавания является символ, шаблон которого в наибольшей степени совпадает с изображением (рис. 3.16).

image081 

При распознавании документов с низким качеством печати (машинописный текст, факс и т. д.) используется векторный метод распознавания символов. В распознаваемом изображении символа выделяются геометрические примитивы (отрезки, окружности и др.) и сравниваются с векторными шаблонами символов. В результате выбирается тот символ, для которого совокупность всех геометрических примитивов и их расположение больше всего соответствует распознаваемому символу (рис. 3.17).

image082 

Системы оптического распознавания символов являются «самообучающимися» (для каждого конкретного документа они создают соответствующий набор шаблонов символов), и поэтому скорость и качество распознавания многостраничного документа постепенно возрастают.

С появлением первого карманного компьютера Newton фирмы Apple в 1990 году начали создаваться системы распознавания рукописного текста. Такие системы преобразуют текст, написанный на экране карманного компьютера специальной ручкой, в текстовый компьютерный документ.

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

экзамена (ЕГЭ)) используются бланки с пустыми полями. Данные вводятся в поля печатными буквами от руки. Затем эти данные распознаются с помощью систем оптического распознавания форм и вносятся в компьютерные базы данных.

Сложность состоит в том, что необходимо распознавать символы, написанные от руки, которые довольно сильно различаются у разных людей. Кроме того, такие системы должны уметь определять, к какому полю относится распознаваемый текст.

Контрольные вопросы

1. В чем состоят различия в технологии распознавания текста при использовании растрового и векторного методов?

Практические работы компьютерного практикума, рекомендуемые для выполнения в процессе изучения главы 3

Компьютерный практикум

№ 8. Кодирование текстовой информации.

№ 9. Создание визитных карточек на основе шаблона.

№ 10. Установка параметров страницы документа, вставка колонтитулов и номеров страниц.

N°11. Вставка в документ формул.

№ 12. Форматирование символов и абзацев.

№ 13. Создание и форматирование списков.

№ 14. Вставка оглавления в документ, содержащий заголовки.

№ 15. Вставка в документ таблицы, ее форматирование и заполнение данными.

№ 16. Создание гипертекстового документа.

№ 17. Перевод текста с помощью компьютерного словаря.

№ 18. Сканирование и распознавание бумажного текстовогодокумента. 

_______________________________________________________________________

Предыдущий раздел3.9. Системы оптического распознавания документов.

Следующий раздел4.2. Электронные таблицы.

К оглавлению учебника - Угринович. Информатика Базовый курс. 8 класс. 2005.