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

Download Report

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