- •4. Представление чисел в компьютере
- •5. Представление графической информации
- •1. Информация и информатика.
- •2. Кодирование и измерение информации.
- •2.1. Вероятностный подход к измерению информации.
- •2.2. Символьный подход к измерению информации
- •3. Некоторые сведения о системах счисления.
- •4. Представление чисел в компьютере
- •4.1. Представление целых чисел в компьютере
- •Перед полученным числом поставим знак «-» Ответ: -105
- •Например, 0,55555•103 Чтобы привести к какому-то стандарту в представлении чисел с плавающей запятой условились представлять числа в нормализованной форме. При этом мантисса отвечает условию:
- •4.4. Арифметические операции с числами в формате с плавающей запятой.
- •5. Представление графической информации
- •6. Логические основы компьютеров
- •7. Технические средства реализации информационных процессов
- •8. Программное обеспечение компьютеров
- •9. Компьютерные сети
- •10. Основы защиты информации
- •Методы и средства защиты информации
4. Представление чисел в компьютере
4.1. Представление целых чисел в компьютере
Представление чисел в памяти компьютера имеет специфическую особенность, связанную с тем, что в памяти ПК они должны располагаться в байтах – минимальных по размеру ячейках памяти.
Целые числа могут представляться в компьютере со знаком или без знака.
Целые числа без знака обычно занимают в памяти один байт (8-разрядная ячейка) или два байта (16-разрядная ячейка). Диапазон значений в первом случае от 000000002 до 111111112 (от 010 до 25510) , а в двухбайтовом формате — от 00000000 000000002 до 11111111 111111112 (от 010 до 6553510)
Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:
перевести число N в двоичную систему счисления;
полученный результат дополнить слева незначащими нулями до k разрядов.
Например, для целого числа 1607 в двухбайтовой ячейке внутреннее представление N=(1607)10=(11001000111)2. будет следующим 0000 0110 0100 0111. Шестнадцатеричная форма внутреннего представления числа N будет 0647.
Разряды нумеруются справа налево, начиная с нуля. Примеры:
а) число 7210 = 10010002 в однобайтовом формате:
-
Номера разрядов
7
6
5
4
3
2
1
0
Биты числа
0
1
0
0
1
0
0
0
б) это же число в двухбайтовом формате: 7210 = 00000000010010002
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд (знаковый разряд) содержит информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” — единицей.
Диапазоны значений целых чисел со знаком
Формат числа в байтах |
Диапазон | |
Запись С порядком |
Обычная запись | |
1 |
–27 ... 27–1 |
–128 ... 127 |
2 |
–215 ... 215–1 |
–32768 ... 32767 |
4 |
–231 ... 231–1 |
–2147483648 ... 2147483647 |
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины – семь разрядов.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.
Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций cложения.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде. Например, число (1)10=(1)2
-
Номера разрядов
7
6
5
4
3
2
1
0
Биты числа
0
0
0
0
0
0
0
1
знак числа
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины. Например, прямой код числа -1
-
Номера разрядов
7
6
5
4
3
2
1
0
Биты числа
1
0
0
0
0
0
0
1
знак числа
2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. Например, обратный код числа -1
-
Номера разрядов
7
6
5
4
3
2
1
0
Биты числа
1
1
1
1
1
1
1
0
знак числа
3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например, дополнительный код числа -1
-
Номера разрядов
7
6
5
4
3
2
1
0
Биты числа
1
1
1
1
1
1
1
1
Определение. Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2n -│А│
Для перевода дополнительного кода в десятичное число необходимо выполнить алгоритм:
1) Инвертировать дополнительный код;
2) Прибавить к полученному коду 1 и получить модуль отрицательного числа;
3) Перевести в десятичное число и приписать знак отрицательного числа.
Например, получим десятичное представление числа по его дополнительному коду 100101112
Решение.
1) Инвертируем дополнительный код 100101112. Получим 01101000 – обратный код. 2) Прибавим к полученному числу 1. Получим число 01101001. 3) Переведем полученную запись числа из двоичной в 10-ю форму. Получим число 105.