Внутреннее представление целых чисел

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