ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В ПАМЯТИ КОМПЬЮТЕРА
ГЛАВНЫЕ ПРАВИЛА ПРЕДСТАВЛЕНИЯ ДАННЫХ В КОМПЬЮТЕРЕ
ПРАВИЛО 1
Данные (и программы) в памяти компьютера хранятся в двоичном виде, т. е. в виде цепочек единиц и нулей.
ОБРАЗ КОМПЬЮТЕРНОЙ ПАМЯТИ
ПРАВИЛО 2
Представление данных в компьютере дискретно .
Дискретное множество состоит из отделенных друг от друга элементов.
ПРАВИЛО 3
Множество представимых в памяти компьютера величин ограничено и конечно .
МАТЕМАТИКА:
множество целых чисел дискретно, бесконечно,
ИНФОРМАТИКА:
множество целых чисел дискретно, конечно, ограничено
не ограничено
ПРАВИЛО 4
В памяти компьютера числа хранятся в двоичной системе счисления.
Ячейка – это часть памяти компьютера, вмещающая
в себя информацию, доступную для обработки
отдельной командой процессора.
n - 1 разряд
0 разряд
ячейка из n разрядов
ЧИСЛОВЫЕ ВЕЛИЧИНЫ
Целые
(формат с
фиксированной запятой)
Вещественные
(формат с
плавающей запятой)
ЦЕЛЫЕ ЧИСЛА БЕЗ ЗНАКА
Для хранения целых неотрицательных чисел без знака отводится одна ячейка памяти (8 битов) .
7 6 5 4 3 2 1 0
Номера разрядов
Биты, составляющие
число
0 1 1 0 1 1 0 1
Минимальное число 0
0 0 0 0 0 0 0 0
Максимальное число 255 10
1 1 1 1 1 1 1 1
11111111 2 = 100000000 2 -1 = 2 8 – 1 = 255 10
Для n -разрядного представления максимальное целое неотрицательное число равно 2 n – 1 .
ЦЕЛЫЕ ЧИСЛА БЕЗ ЗНАКА
Пример. Представить число 51 10 в двоичном виде в восьмибитовом представлении в формате целого без знака.
Решение.
51 10 = 110011 2
0 0 1 1 0 0 1 1
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Для хранения целых чисел со знаком отводится
две ячейки памяти (16 битов) .
Старший разряд числа определяет его знак.
Если он равен 0, число положительное,
если 1, то отрицательное.
51 10 = 110011 2
0 0 1 1 0 0 1 1
- 51 10 = - 110011 2
1 0 1 1 0 0 1 1
Такое представление чисел в компьютере называется
прямым кодом .
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Для n -разрядного представления со знаком (с учетом выделения одного разряда на знак):
- минимальное отрицательное число равно – 2 n -1 максимальное положительное число равно 2 n -1 – 1 ,
- минимальное отрицательное число равно – 2 n -1
- максимальное положительное число равно 2 n -1 – 1 ,
Целые числа в памяти компьютера —
- Целые числа в памяти компьютера —
это дискретное, ограниченное и конечное множество .
- это дискретное, ограниченное и конечное множество .
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Для представления отрицательных целых чисел используется дополнительный код.
Алгоритм получения дополнительного кода отрицательного числа:
- Число записать прямым кодом в n двоичных разрядах. Получить обратный код числа, для этого значения всех битов инвертировать, кроме старшего разряда. К полученному обратному коду прибавить единицу .
- Число записать прямым кодом в n двоичных разрядах.
- Получить обратный код числа, для этого значения всех битов инвертировать, кроме старшего разряда.
- К полученному обратному коду прибавить единицу .
Представить число -2014 10 в двоичном виде в шестнадцатибитном представлении в формате целого со знаком.
Прямой код
Обратный код
-2014 10
10000111 11011110 2
Инвертирование
11111000 00100001 2
Дополнительный код
Прибавление единицы
11111000 00100001 2
00000000 00000001 2
11111000 00100010 2
Найдем дополнительный код десятичного числа - 47
1. Найдем двоичную запись числа 47 ( прямой код)
0
15
0
14
0
0
13
12
0
0
11
10
0
9
0
8
0
7
0
6
1
5
0
4
1
1
3
2
1
1
1
0
2. Инвертируем это число ( обратный код)
1
15
1
1
14
1
13
1
12
11
1
1
10
1
9
1
8
1
7
0
6
1
5
0
4
3
0
0
2
0
1
0
3. Прибавим 1 к обратному коду и получим запись этого числа в оперативной памяти
1
1
15
1
14
1
13
1
12
1
11
1
10
1
9
1
8
7
1
0
6
1
5
0
4
3
0
0
2
1
1
0
Представить число -2014 10 в двоичном виде в шестнадцатибитном представлении в формате целого со знаком.
Прямой код
Обратный код
-2014 10
10000111 11011110 2
Инвертирование
11111000 00100001 2
Дополнительный код
Прибавление единицы
11111000 00100001 2
00000000 00000001 2
11111000 00100010 2
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Алгебраическое сложение двоичных чисел
- Положительные слагаемые представить в прямом коде.
- Отрицательные слагаемые – в дополнительном.
- Найти сумму кодов, включая знаковые разряды, которые при этом рассматриваются как старшие разряды. При переносе из знакового разряда единицу переноса отбрасывают.
- В результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном, если сумма отрицательная.
Задание 1. Записать внутреннее представление следующих десятичных чисел, используя 8 – разрядную ячейку:
64 10
- 120 10
Прямой код
Обратный код
Дополнительный код
Задание 2. Как запишутся в оперативной памяти компьютера следующие десятичные числа в 16-ти разрядной сетке
57 10
200 10
-117 10
Прямой код
Обратный код
Дополнительный код
Задание 2. Как запишутся в оперативной памяти компьютера следующие десятичные числа в 16-ти разрядной сетке
57 10
200 10
-117 10
Прямой код
Обратный код
Дополнительный код
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Пример 1. Найти разность 13 10 – 12 10 в восьмибитном представлении.
Прямой код
13 10
– 12 10
00001101
Обратный код
10001100
Дополнительный код
-
11110011
-
11110100
0 0 0 0 1 1 0 1
1 1 1 1 0 1 0 0
10 0 0 0 0 0 0 1
Так как произошел перенос из знакового разряда,
первую единицу отбрасываем, и в результате
получаем 00000001.
+
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Пример 2. Найти разность 8 10 – 13 10 в восьмибитном представлении.
Прямой код
8 10
– 13 10
00001000
Обратный код
10001101
Дополнительный код
-
11110010
-
11110011
0 0 0 0 1 0 0 0
1 1 1 1 0 0 1 1
1 1 1 1 1 0 1 1
+
ЦЕЛЫЕ ЧИСЛА СО ЗНАКОМ
Пример 2. Найти разность 8 10 – 13 10 в восьмибитном представлении.
0 0 0 0 1 0 0 0
1 1 1 1 0 0 1 1
1 1 1 1 1 0 1 1
+
В знаковом разряде стоит 1, значит результат получен в дополнительном коде. Прейдем от дополнительного кода к обратному, вычтя единицу:
1 1 1 1 0 0 1 1
0 0 0 0 0 0 0 1
1 1 1 1 1 0 1 0
-
Прейдем от обратного кода к прямому, инвертируя все цифры, за исключением знакового (старшего) разряда: 10000101 2 = 5 10 .
ВЕЩЕСТВЕННЫЕ ЧИСЛА
Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой , использующем экспоненциальную форму записи чисел.
A = M q n
M – мантисса числа (правильная отличная от нуля дробь),
q – основание системы счисления,
n – порядок числа.
Диапазон ограничен максимальными значениями M и n .
ВЕЩЕСТВЕННЫЕ ЧИСЛА
Например, 123,45 = 0,12345 · 10 3
Порядок указывает, на какое количество позиций и в каком направлении должна сместиться десятичная запятая в мантиссе.
Число в формате с плавающей запятой может занимать в памяти 4 байта (обычная точность) или 8 байтов (двойная точность) .
При записи числа выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Мантисса M и порядок n определяют диапазон изменения чисел и их точность.
Самостоятельная работа
Задание 1. Получить внутреннее представление целого числа 123 10 в 8-разрядной ячейке памяти компьютера.
Задание 2. Получить внутреннее представление целого числа
- 123 10 в 8-разрядной ячейке памяти компьютера.
Задание 3. Получить внутреннее представление целого числа - 17 10 в 16 – ти разрядной ячейке памяти компьютера.
ДОМАШНЕЕ ЗАДАНИЕ
- § 5
- Задания № 3, 4 стр. 43