- •Глава 1. Введение в информатику
- •1.1. Понятие «инфоpматика»
- •1.2. Понятие «информация»
- •1.2.1. Определение информации
- •1.2.2. Классификация информации
- •1. По типу сигнала Информация
- •4. По форме представления –
- •5. По общественному значению –
- •1.2.3. Свойства информации
- •1.3. Информационная деятельность человека
- •1.4. Информатизация и информационное общество
- •1.5. Информационные процессы
- •1.5.1. Передача информации. Сигнал
- •1.6. Измерение количества информации
- •1.6.2. Содержательный подход к измерению информации
- •Формула Хартли:
- •1.6.3. Алфавитный подход к измерению информации
- •1.7. Информационные ресурсы и информационные технологии
- •1.7.1. Информационные системы
- •1.8. Кодирование. Двоичное кодирование
- •1.8.1. Кодирование текстовой информации
- •1.8.1.1. Кодовая таблица ascii
- •1.8.1.2. Международный стандарт Unicode
- •1.8.2. Представление графической информации
- •1.8.3. Кодирование звуковой информации
- •1.8.3.1. Оцифровка звука
- •1.8.3.2. Характеристики оцифрованного звука
- •1.8.4. Кодирование числовой информации
- •1.8.4.1. Кодирование целых чисел
- •1.8.4.2. Кодирование вещественных чисел
1.8.4. Кодирование числовой информации
В компьютере для представления числовой информации используется двоичная система счисления. Числа могут быть записаны в естественной и экспоненциальной форме.
1.8.4.1. Кодирование целых чисел
Для работы с числами человек использует в основном две формы для их записи – естественная и экспоненциальная.
Естественной формой называется более привычная для нас, обычная запись числа, например, 1000 или 3,5.
Экспоненциальная форма записи чисел обычно используется для обозначения очень больших или очень маленьких чисел, т.к. в естественной форме в записи таких чисел используется большое количество незначащих нулей (например, 0,000002 = 0,21-5 или 1000 = 103).
(Числа в компьютере представлены в двоичной системе счисления)
Для представления в компьютере целых чисел в основном используют форматом с фиксированной точкой.
Запятая в таких числах фиксируется строго в конце и остается строго фиксированной. Поэтому этот формат называется форматом с фиксированной точкой.
Все целые числа в компьютере разделяются на числа без знака (только положительные) и со знаком (положительные и отрицательные). Для хранения чисел в памяти отводится определенное количество разрядов, в совокупности представляющих собой k – разрядную сетку.
Формат с фиксированной точкой |
||||
Формат |
Количество разрядов (n), отводимое для хранения числа |
Минимальное число |
Максимальное число |
Интервал числа |
Целые числа без знака |
1 байт (=8) |
0 |
2n – 1 = 255 |
0..255 |
2 байт (n=16) |
0 |
2n – 1 = 65535 |
0..65535 |
|
Целые числа со знаком |
2 байт (n=16) |
-2n-1 = -32768 |
2n-1 –1 = 32767 |
-32768…32767 |
4 байт (n=32) |
-2n-1 = -2 147 483 648 |
2n-1 –1 = 2 147 483 647 |
-2147483648.. 2147483647 |
Обычно целые числа занимают в памяти ЭВМ 1, 2 или 4 байта. Поэтому легко вычислить диапазон чисел, которые можно сохранить в такой разрядной сетке:
диапазон чисел без знака - в однобайтовой разрядной сетке от 0 до 28-1 = 255, в двухбайтовой - от 0 до 216-1 = 65535;
диапазон чисел со знаком (с учетом того, что старший разряд отводится по знак) - в двухбайтовой разрядной сетке от -215 = - 32768 до 215 - 1 = 32767, в четырехбайтовой разрядной сетке от - 232 = - 2 147 483 648 до 232 - 1 = 2 147 483 647.
Знак положительного числа «+» кодируется нулем, а знак отрицательного числа «-» кодируется единицей.
Число в разрядной сетке располагается так, что его самый младший двоичный разряд записывается в крайний правый бит. Если количество разрядов в разрядной сетке превышает количество разрядов числа, оставшиеся разряды заполняются нулями.
Пример 1
Представить число 2110 в однобайтовой разрядной сетке.
Переведем число 2110 в двоичную систему счисления. 2110 = 101012.
Нарисуем восьмиразрядную сетку (1 байт = 8 бит).
7 6 5 4 3 2 1 0 - номер разряда
|
|
|
|
|
|
|
|
3. Впишем число, начиная с младшего разряда.
|
|
|
1 |
0 |
1 |
0 |
1 |
4. Заполним оставшиеся разряды нулями.
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
Пример 2
Представить число +2110 и -2110 в двухбайтовой разрядной сетке. Представление положительного числа:
1. Переведем модуль числа +2110 в двоичную систему счисления. 2110 = 101012.
Нарисуем шестнадцатиразрядную сетку (2 байт = 16 бит).
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
К од знака
3. Впишем число, начиная с младшего разряда и указав код знака «+» в старшем разряде.
-
0
1
0
1
0
1
4. Заполним оставшиеся разряды нулями.
-
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
Представление отрицательного числа.
Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2n - |А|.
Дополнительный код представляет собой дополнение модуля отрицательного числа А до 0, поэтому в n-разрядной компьютерной арифметике:
2n - |А| + |А| = 0.
Это равенство тождественно справедливо, так как в компьютерной n-разрядной арифметике 2n 0. Действительно, двоичная запись такого числа состоит из одной единицы и п нулей, а в п - разрядную ячейку может уместиться только п младших разрядов, то есть п нулей.
Для получения дополнительного кода отрицательного числа можно использовать довольно простой алгоритм:
Модуль числа записать прямым кодом в п двоичных разрядах;
Получить обратный код числа, для этого значения всех бит инвертировать (все единицы заменить на нули и все нули заменить на единицы);
К полученному обратному коду прибавить единицу.
1. Переведем модуль числа -2110 в двоичную систему счисления. 2110 = 101012.
Нарисуем шестнадцатиразрядную сетку (2 байт = 16 бит).
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
К од знака
3. Получим внутренне представление модуля числа.
0000 0000 0001 0101 - прямой код числа.
4. Найдем обратный код числа, заменив в прямом коде нули на единицы, а единицы на нули:
1111 1111 1110 1010 - обратный код.
5. Найдем дополнительный код числа, прибавив к обратному коду единицу:
1111 1111 1110 1010
+ 1
1111 1111 1110 1011 - дополнительный код.
6. Впишем дополнительный код в разрядную сетку.
-
1
1
1
1
1
1
1
1
1
1
1
0
1
0
1
1
Код знака
Единица в старшем разряде кодирует знак«-».