Тема 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. Найдите десятичные представления чисел, записанных в обратном коде:

 а;  б;  в;  г