Тема 3: Представление целых чисел в компьютере.
Представление числовой информации в компьютере
Любая информация (числа, текстовая, графическая и т. д.) представляется в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют битами. Двоичный код состоящий из 8 разрядов носит название байта.
Целые числа могут представляться в компьютере со знаком или без знака.
Представление целых чисел без знака в компьютере
Целые числа без знака обычно занимают в памяти компьютера один, два или 4 байта.
В однобайтовом формате числа принимают значения от до .
В двубайтовом формате — от до .
В четырехбайтовом - от до 1111111
Диапазоны значений целых чисел без знака
Формат числа в байтах | Диапазон | |
Запись с порядком | Обычная запись | |
1 | 0 ... 28–1 | 0 |
2 | 0 –1 | 0 |
4 | 0 –1 | 0… |
Например, в однобайтовом формате число 62=1111102 имеет вид:

В двубайтовом формате число 1402= имеет вид:

Пример 1. Для хранения целого числа без знака используется один
байт. Записать представление числа 19 в компьютере.
1 шаг: Переведем число 19 из десятичной системы счисления в двоичную.

2 шаг: Так как для представления числа в компьютере выделен 1 байт, то код числа должен содержать 8 знаков (8 бит). Поэтому впереди числа дописываем 3 незначащих нуля.
0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
Задания.
1. Запишите числа в беззнаковом коде (формат 1 байт):
а) 31; б) 163; в) 65; г) 128.
2. Найдите десятичные представления чисел, записанных в беззнаковом коде:
а; б; в; г
Представление целых чисел со знаком
Так же как беззнаковые целые числа целые со знаком обычно занимают в памяти компьютера один, два или 4 байта.
Диапазоны значений целых чисел со знаком
Формат числа в байтах | Диапазон | |
Запись с порядком | Обычная запись | |
1 | –27 ... 27–1 | – |
2 | –215 –1 | –32 |
4 | –231 –1 | – |
Самый левый (старший бит) разряд определяет знак числа.
Если он равен 0, число положительное, если 1, то отрицательное.
Например, в однобайтовом формате число 46=1011102 имеет вид:

В ЭВМ в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Применяются прямой, обратный и дополнительный коды чисел. Дополнительный код используется для хранения чисел в запоминающем устройстве ЭВМ. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.
Прямой код. Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Например, в однобайтовом формате числа 27 и -27 имеют вид:
Число | Прямой код | Обратный код | Дополнительный код |
27 | |||
-27 |
Пример 1. Найти прямой, обратный и дополнительный код представления числа 13 в однобайтном формате.
1 шаг: Переведем число 13 из десятичной системы счисления в двоичную.

2 шаг: Для представления числа в компьютере выделен 1 байт. Старший бит занимает знак числа – 0. Сам код числа должен занимать 7 бит. Таким образом прямой код числа 13
0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
Так как для положительных чисел прямой, обратный и дополнительный код совпадает, то ответ .
Пример 2. Найти прямой, обратный и дополнительный код представления числа -23 в однобайтовом формате.
1 шаг: Переведем число -23 из десятичной системы счисления в двоичную. Получим
-2310=-101112
2 шаг: Прямой код числа в однобайтовом формате, учитывая, что старший бит занимает знак числа -1, имеет вид
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
3 шаг: Найдем обратный код числа -23, заменив все цифры числа на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. Имеем,
1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
4 шаг: Найдем дополнительный код числа -23, добавив 1 к младшему разряду обратного кода.
1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
Ответ: прямой код – ; обратный – ; дополнительный – .
Задание.
1. Записать число в прямом, обратном и дополнительном кодах (формат 1 байт):
а) 11010; б) -11101; в) -101001; г) .
2. Запишите числа в прямом коде (формат 1 байт):
а) 31; б) -63; в) 65; г) -128.
3. Запишите числа в обратном и дополнительном кодах (формат 1 байт):
а) -9; б) -15; в) -127; г) -128.
4. Найдите десятичные представления чисел, записанных в дополнительном коде:
а; б; в; г
5. Найдите десятичные представления чисел, записанных в обратном коде:
а; б; в; г


