- •Введение
- •1. Предмет информатики
- •1.1 Роль информации в современном обществе
- •1.2 Информационные барьеры в истории человечества
- •1.3 Предметная область информатики
- •2. Теория информации
- •2.1 Исходные понятия теории информации
- •2.2 Формы представления информации
- •2.3 Преобразование сообщений
- •3. Понятие информации в теории Шеннона
- •3.1 Понятие энтропии
- •3.2 Условная энтропия
- •3.3 Статистическое определение информации
- •3.4 Энтропия и информация
- •3.5 Информация и алфавит
- •4. Кодирование символьной информации
- •4.1 Постановка задачи кодирования. Первая теорема Шеннона
- •4.2 Алфавитное неравномерное двоичное кодирование сигналами равной длительности
- •4.2.1 Неравномерный код с разделителем
- •4.2.2 Префиксное неравномерное кодирование
- •4.3 Равномерное алфавитное двоичное кодирование. Байтовый код
- •4.4 Алфавитное кодирование с неравной длительностью элементарных сигналов. Код Морзе
- •4.5 Блочное двоичное кодирование
- •5. Кодирование и представление чисел в компьютере
- •5.1 Системы счисления
- •5.2 Перевод чисел из одной системы счисления в другую
- •5.3 Перевод чисел между системами счисления с основанием 2k
- •5.4 Формы представления вещественных чисел
- •5.5 Кодирование целых чисел в компьютере
- •5.5.1 Кодирование в компьютере целых чисел без знака
- •5.5.2 Кодирование в компьютере целых чисел со знаком
- •5.6 Кодирование в компьютере вещественных чисел
- •5.7 Двоично-десятичные коды
- •5.7.1 Код (8421) – код прямого замещения
- •6. Обработка чисел в компьютере
- •6.1 Выполнение операций сложения
- •6.2 Сложение нормализованных чисел
- •6.3 Выполнение операции умножения
- •6.3.1 Общий алгоритм умножения
- •6.3.2 Особенности умножения в форме с плавающей запятой
- •6.4 Деление чисел
- •7. Кодирование графической и звуковой информации
- •7.1 Представление изображений
- •7.2 Представление звука
- •Список литературы
- •Родина Наталья Васильевна Информатика
- •Часть 1
- •107846, Москва, ул.Стромынка, 20
5.5.1 Кодирование в компьютере целых чисел без знака
Для записи числа в устройствах компьютера выделяется фиксированное количество двоичных разрядов. Размер одной адресуемой ячейки обычно составляет несколько байтов, например, 2 – такая комбинация связанных соседних ячеек, обрабатываемая совместно, называется машинным словом.
Конечный размер разрядной сетки порождает понятие «наибольшее целое число», которого в обычном представлении чисел просто не существует.
Если количество разрядов k и p=2 , то Zmax = 2k–1.
Н апример, если k = 16, p = 2, то Zmax = 216 – 1 = 11 … 1 = 65535(10).
Другими словами, целого числа, большего 65535(10), в компьютере просто не может существовать, и появление чисел, превышающих Zmax, должно интерпретироваться как ошибка.
М инимальным числом в беззнаковом представлении является Zmin = 0 … 0 = 0 .
16
Например, в языке Pascal тип целых чисел без знака, для записи которых отводится 2 байта, определен как Word, 1 байт – Byte. Тип устанавливает способ кодирования числа, количество отводимых разрядов для записи, а также перечень допустимых операций при обработке.
Выход за границу 65535(10) возможен только путем увеличения количества разрядов для записи числа, но это уже будет другой тип со своим Zmax.
(Например, тип LongInt, 4 байта – Zmax = 2147483647(10)).
Рассмотрим, как с беззнаковыми числами выполняется одна из наиболее часто используемых операций, не меняющая типа числа – сложение.
Сложение производится согласно таблице сложения (таблица 5.2).
Место, где сохраняется переносимая в старший разряд 1 до того, как она будет использована в операции, называется битом переноса.
Таблица 5.2 Сложение двоичных чисел.
Перенос в следующий разряд Pi+1 |
Результат Si |
Слагаемые |
Перенос из младшего разряда Pi-1 |
0 |
0 |
0 0 |
0 |
0 |
1 |
0 0 |
1 |
0 |
1 |
1 0 |
0 |
1 |
0 |
1 0 |
1 |
1 |
0 |
1 1 |
0 |
1 |
1 |
1 1 |
1 |
Пример 7. Найти сумму 1494(10) + 1392(10) при беззнаковой двоичной кодировке и 16-битном машинном слове для представления чисел.
Переведем исходные числа в соответствующие 16-битные двоичные представления (разбиение на тетрады – условное, для удобочитаемости).
1494(10) = 0000 0101 1101 0110(2);
1392(10) = 0000 0101 0111 0000(2).
Выполним сложение по правилам таблицы 5.2.
0000 0101 1101 0110
0000 0101 0111 0000
0000 1011 0100 0110
Проверим получившийся результат
211 + 29 + 28 + 26 + 22 + 21 =2048 + 512 + 256 + 64 + 4 + 2 = 2886(10) .
Пример 8. Найти сумму коротких целых чисел (byte), для представления которых отводится 1 байт: 159(10) + 100(10)
159(10) = 1001 1111(2) 100(10) = 0110 0100(2)
Выполним сложение по правилам таблицы 5.2.
1001 1111
0110 0100
1 0000 0011 Перенос из старшего разряда называется битом переполнения. Ответ: 0000 0011(2) = 3(10) .