Представление целых чисел в компьютере
Целые числа представлены в двоичной системе и занимают 1, 2 или 4 байта. Существует два вида представления целых чисел: без знака и со знаком. Вся информация, которую обрабатывает компьютер представлена в двоичном коде с помощью двух цифр: 0 и 1 Один байт это 8 бит (0 и 1). Привет!
Представление целых чисел без знака В числовой системе без знака все числа считаются положительными, и все биты используются для значения числа. Поэтому: Количество байт Диапазон значений в двоичном виде Диапазон значений в десятичном виде 1 (8 бит) – – (16 бит) – – (32 бита) – –
Представление целых чисел со знаком В числовой системе со знаком старший бит используется для знака. Причем, у положительных чисел старший бит =0, у отрицательных чисел старший бит =1. В связи с тем, что в числовой системе со знаком, старший разряд используется для знака, в том же самом количестве байт помещается меньшее по модулю число. Положительные числа представлены так же как в системе без знака, только занимают на 1 бит больше места.
Представление отрицательных чисел Отрицательные числа в компьютере представлены в дополнительном коде. Для получения дополнительного кода необходимо инвертировать все биты соответствующего положительного числа (то есть поменять 1 на 0 и 0 на 1) и к получившемуся числу прибавить 1. Найдем, как представлено в компьютере число –65. 1) Запишем в двоичном виде значение положительного числа = ) Выполним инверсию полученного двоичного числа. Получим: ) Прибавим 1 к полученному двоичному числу. Получим: Ответ: =
Пример 1 для отрицательного числа Как представлено в одном байте памяти компьютера, в числовой системе со знаком десятичное число -106? В двоичном виде = Инверсия = Число / частное Делитель Остаток Переписываем цифры справа налево!!! Добавляем слева незначащие 0 до 8 бит. Ответ: =
Пример 2 для положительного числа Как представлено в одном байте памяти компьютера, в числовой системе со знаком десятичное число 55? В двоичном виде55 10 = Число / частное Делитель Остаток Переписываем цифры справа налево!!! Добавляем слева незначащие 0 до 8 бит. Ответ: =
Примеры Как представлены в одном байте памяти компьютера, в числовой системе со знаком, следующие десятичные числа: 50= –50= –85=
Прочитать целое число, записанное в двоичной системе счисления со знаком Пусть в 1 байте памяти записано число Ясно, что это число положительное (так старший бит=0). Значит оно переводится в десятичную систему как обычно, то есть: = =16+8=24 10 Пример 1
Прочитать целое число, записанное в двоичной системе счисления со знаком Пусть в 1 байте памяти записано число Ясно, что это число отрицательное (так старший бит=1). Найдем его абсолютную величину. Для этого: Пример 2 В двоичном виде Инверсия =65 Ответ: =-65 10
Почему такое странное представление отрицательного числа? Потому, что компьютер не умеет вычитать, а умеет только складывать. Двоичное вычитание заменяют сложением с отрицательным числом. А в сумме два числа с разными знаками, но с одинаковой абсолютной величиной в сумме должны давать 0. Сумма +65 и –65 = 0. Проверим это для двоичного компьютерного представления этих чисел Все 8 бит 0. Перенос единичного бита влево потерян.
– – – – – Величину положительного числа определяют 1 биты. Величину отрицательного числа фактически определяют 0 биты. Если рассмотреть весовые значения 0 битов, как если бы они были 1, сложить и прибавить 1, то получим абсолютное значение отрицательного числа. Покажем, как выглядит следующий ряд чисел в компьютерном представлении:
Представление целых чисел со знаком В связи с тем, что в числовой системе со знаком, старший разряд используется для знака, в том же самом количестве байт помещается меньшее по модулю число. А именно: Количество байт Диапазон значений в двоичном видеДиапазон значений в десятичном виде 1 (8 бит) – –128 до (16 бит) – – до (32 бита) – до
Примеры Запишите в виде целого десятичного числа содержимое одного байта памяти компьютера, в числовой системе со знаком: = = = = =