- •Лекция 57.11.1 – 57.21.1
- •Кодирование информации
- •1. Кодирование чисел. Системы счисления
- •1.1. Перевод целых чисел из системы счисления с основанием k в десятичную систему счисления
- •1.2. Двоичная система счисления
- •1.3. Перевод целых чисел из десятичной системы счисления в систему счисления с другим основанием
- •1.4. Шестнадцатеричная система счисления
- •1.5. Вавилонская (шестидесятеричная) система счисления
- •1.6. Задачи
- •Системы счисления, которые специалисты используют для общения с компьютером
- •Представление целых чисел в компьютере
- •Как компьютер выполняет арифметические действия над целыми числами
- •Как представляются в компьютере вещественные числа
- •Как компьютер выполняет арифметические действия над нормализованными числами
- •2. Кодирование двоичным кодом
- •3. Кодирование символов. Байт.
- •3.1. Юникод. Utf-8
- •3.2. Задачи
- •4. Единицы измерения объема данных и ёмкости памяти: килобайты, мегабайты, гигабайты…
- •4.1. Задачи
- •5. Кодирование графической информации
- •5.1. Восприятие цвета
- •5.2. Цветовые модели rgb и cmyk
- •5.3. Другие цветовые модели
- •5.4. Некоторые принципы уменьшения объема графических файлов
- •5.5. Задачи
- •6. Кодирование звуковой информации
- •6.1. Цифро-аналоговое и аналого-цифровое преобразование звуковой информации
- •6.2. Параметры семплирования
- •6.3. Задачи
Представление целых чисел в компьютере
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112, а в двубайтовом формате - от
00000000 000000002 до 11111111 111111112.
Диапазоны значений целых чисел без знака
Формат числа в байтах |
Запись с порядком |
Обычная запись |
1 2 |
0 … 28 – 1 0 … 216 - 1 |
0 … 255 0 … 65535 |
Пример.
Число 7210 = 1001000, в однобайтовом формате:
Номера разрядов 7 6 5 4 3 2 1 0
Биты числа
Пример.
Число 7210 в двубайтовом формате:
Номера разрядов 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Биты числа
Пример.
Число 65535 в двубайтовом формате:
Номера разрядов 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак «плюс» кодируется нулём, а «минус» — единицей.
Диапазоны значений целых чисел со знаком
Формат числа в байтах |
Запись с порядком |
Обычная запись |
1 2 4 |
-27 … 27 – 1 - 215 … 215 – 1 -231 …231 - 1 |
-128 … 127 -32 768 … 32 767 -2 147 483 648 … 2 147 483 647 |
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины — семь разрядов.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией сложения.
Положительные числа в прямом, обратном и дополнительном коде изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде.
Пример.
Число 1|0 = 12:
Число 127]0 = 11111112
З
нак
числа «+»
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
1.Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины.
Пример.
Прямой код числа -1 Прямой код числа -127
З нак числа «-»
2.Обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями.
Пример.
Число: -1. Число: -127.
Код модуля числа: 0 0000001. Код модуля числа: 0 1111111.
Обратный код числа: 1 1111110. Обратный код числа: 1 0000000.
3. Дополнительный код получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
Пример.
Дополнительный
код числа —1:
Дополнительный
код числа —12
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.
