в однобайтовом формате

advertisement
Представление
чисел в компьютере
Представление чисел в
формате с фиксированной
запятой (точкой)
В формате с фиксированной
запятой в памяти компьютера
хранятся целые числа
Недостаток: конечный диапазон представления
величин, недостаточный для решения
математических, физических экономических и
других задач, в которых используются как очень
малые, так и очень большие числа.
Целые числа без знака
Занимают в памяти компьютера 1 или 2 байта
и принимают значения
в однобайтовом формате
от 000000002 до 111111112,
а в двухбайтовом формате
от 00000000 000000002 до 11111111 111111112
Формат числа в байтах
1
2
Обычная запись
0 … 255
0 … 65535
Примеры
Число 7210 в однобайтовом формате
0 1 0 0 1 0 0 0
Число 7210 в двухбайтовом формате
0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
Целые числа со знаком
Занимают в памяти компьютера 1, 2 или 4
байта. При этом самый левый (старший)
разряд содержит информацию о знаке числа.
Знак «+» кодируется нулем, а «-» - единицей.
Формат числа в
байтах
Обычная запись
1
2
4
-128… 127
-32 768 … 32 767
-2 147 483 648 … 2 147 483 647
Формы записи целых чисел со знаком
Прямой код
Обратный код
Дополнительный код
Положительные числа
В прямом, обратном и дополнительном кодах изображаются
одинаково – двоичными кодами с цифрой 0 в знаковом разряде
Число 110=12
00000001 (в однобайтовом формате)
0000000000000001 (в двухбайтовом формате)
Число 12710=11111112
01111111 (в однобайтовом формате)
0000000001111111 (в двухбайтовом формате)
Число 100010=11111010002
00000011111010002 (в двухбайтовом формате)
Отрицательные числа
1.Прямой код – в знаковый разряд помещается цифра 1.
Прямой код числа -110
10000001 (в однобайтовом формате)
Прямой код числа -12710
11111111 (в однобайтовом формате)
2.Обратный код – получается инвертированием всех цифр
двоичного кода, исключая разряд знака.
Обратный код числа -1: 11111110
Обратный код числа -127: 10000000
3.Дополнительный код – получается из обратного прибавлением
единицы к его младшему разряду.
Дополнительный код числа -1: 11111111
Дополнительный числа -127: 10000001
Обычно отрицательные десятичные числа
при вводе в компьютер автоматически
преобразуются в обратный или
дополнительный двоичный код и в таком
виде хранятся, перемещаются и участвуют в
операциях. При выводе таких чисел из
машины происходит обратное
преобразование в отрицательные
десятичные числа.
Задание
Записать дополнительный код
отрицательного числа -2010 для
двухбайтного компьютерного
представления.
Решение
201010=111110110102
Получим прямой код:
1000011111011010
Обратный код:
1111100000100101
Дополнительный код: 1111100000100110
1111100000100101
+
1
1111100000100110
Задание
Заполнить таблицу, записав отрицательные числа в
прямом, обратном и дополнительном кодах в 16разрядном представлении
Десятичные
числа
-10
-100
-1000
-10000
Прямой код
Обратный код
Дополнительный
код
Задание
Заполнить таблицу, записав отрицательные числа в
прямом, обратном и дополнительном кодах в 16разрядном представлении
Десятичные
числа
Прямой код
Обратный код
Дополнительный
код
-10
1000000000001010
1111111111110101
1111111111110110
-100
1000000001100100
1111111110011011
1111111110011100
-1000
1000001111101000
1111110000010111
1111110000011000
-10000
1010011100010000
1101100011101111
1101100011110000
Download