Transcript Внутреннее представление целых чисел
ЦЕЛЫЕ ЧИСЛА В ПАМЯТИ КОМПЬЮТЕРА
Целые числа в нашем мире
1.
2.
МНОЖЕСТВО ЦЕЛЫХ ЧИСЕЛ БЕСКОНЕЧНО МНОЖЕСТВО ВЕЩЕСТВЕННЫХ ЧИСЕЛ БЕСКОНЕЧНО
Целые числа в компьютере
ГРАНИЦЫ МНОЖЕСТВА ЦЕЛЫХ ЧИСЕЛ ЗАВИСЯТ ОТ РАЗМЕРА ВЫДЕЛЯЕМОЙ ЯЧЕЙКИ ПАМЯТИ ПОД ЦЕЛОЕ ЧИСЛО, А ТАКЖЕ ОТ ФОРМАТА: СО ЗНАКОМ ИЛИ БЕЗ ЗНАКА.
3 … 8 … 16 … Зависимость границ множества 1 2 целых чисел от размера
Кол-во ячеек памяти Возможные числа для Всего чисел
выделенной ячейки памяти для формата «без знака» 0,1,2,3 2 4 0,1,2,3,4,5,6,7 … 0 …2 8 -1(255) 8 … 256 0…2 16 -1 65536
Задание:
Определить границы множества целых чисел для: 1.
2.
3-байтной ячейки памяти 4-байтной ячейки памяти .
Шаг последовательности ДЛЯ ЦЕЛЫХ ЧИСЕЛ РАВНЯЕТСЯ ЕДИНИЦЕ (ТАК ЖЕ, КАК И В МАТЕМАТИКЕ) Целые числа в компьютере – дискретное, ограниченное и конечное множество
Алгоритм внутреннего представления целого положительного числа N, хранящегося в k-разрядном машинном слове: 1.
Перевести число N в двоичную СС 2.
Полученный результат дополнить слева незначащими нулями до k разрядов.
Пример 1. Получить внутреннее представление целого положительного числа 1607 в 2-х байтовой ячейке.
1.
Решение N= 1607 10 =11001000111 2 2.
3.
Внутреннее представление числа: 0000 0110 0100 0111 Шестнадцатеричная форма внутреннего представления числа: 0647
задание
1.
2.
Получить внутреннее представление числа 209 в 2-байтной ячейке памяти.
Записать шестнадцатеричную форму внутреннего представления числа 209.
Зависимость границ множества целых чисел от размера выделенной ячейки памяти для формата «со знаком»
Кол-во ячеек памяти
8 … 16 … 1 2 3 …
Возможные числа для хранения в 10 с.с.
-1, 0 -2, -1, 0, 1 -4, -3, -2, -1, 0,1,2,3 … -128, -127, …, 0, 1 …, 127 -2 15 , …, 0, …2 15 -1
Всего чисел
2 4 8 … 256 65536
Задание
Определите диапазон чисел для хранения: 1.
2.
В 3-байтовой ячейках памяти в формате «со знаком».
В 4-байтовой ячейках памяти в формате «со знаком».
Алгоритм внутреннего представления целого отрицательного числа N, хранящегося в k-разрядном машинном слове:
1.
2.
3.
Получить внутреннее представление положительного числа N (прямой код) .
Получить обратный код этого числа
заменой 0 на 1 и 1 на 0.
К полученному числу добавить 1 (дополнительный код) .
Пример 2.
Запишите дополнительный код отрицательного числа - 2002 для 16-разрядного компьютерного представления.
Прямой код модуля Обратный код |-2002 10 | Инвертирование 0000011 111010010 2 1111100000101101 2 Дополнительный код Прибавление единицы 1111100000101101 2 + 0000000000000001 2 1111100000101110 2