МОУ СОШ № 18 г.Пензы
Кодирование числовой информации. Представление чисел в формате с фиксированной запятой (числа со знаком)
Цели:
научить учащихся представлять целые числа со знаком в памяти компьютера;
развитие логического мышления, умения анализировать и обобщать;
повышать интерес учащихся к предмету “информатика”.
Требования к знаниям и умениям:
Учащиеся должны знать:
форматы записи целых чисел со знаком в памяти компьютера;
прямой, обратный и дополнительный код чисел.
Учащиеся должны уметь:
представлять числа в прямом, обратном, дополнительном кодах.
Ход урока
Актуализация знаний
Какие наибольшие и наименьшие значения чисел с фиксированной запятой можно представить в компьютере в одно-, двух- и четырехбайтовой разрядной сетке?
Сформулируйте алгоритм внутреннего представления в памяти компьютера целых чисел без знака.
Проверка Д/З.
Изложение нового материала.
Кодирование целых чисел со знаком.
Для хранения целых чисел со знаком может отводиться одна ячейка памяти (8 бит), две ячейки памяти (16 битов), а для хранения больших целых чисел со знаком отводится четыре ячейки памяти (32 бита). Старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное — записывается 1).
Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отводится один разряд, а для цифр абсолютной величины — семь разрядов.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией сложения.
Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде.
Пример 1. +1210= 1100
1 | 1 |
Код знака
Пример 2. — 1210
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины.
1 | 1 |
Код знака
2. Обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями. При этом код знака не меняется.
1 | 1 | 1 | 1 | 1 |
Код знака
3. Дополнительный код.
Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие.
Дополнительный код получается прибавлением единицы к младшему разряду обратного кода.
1 | 1 | 1 | 1 | 1 |
Код знака +1
1 | 1 | 1 | 1 |
Код знака
Дополнительный код отрицательного числа А, хранящегося в n ячейках, равен 2n — |А|
Дополнительный код представляет собой дополнение модуля отрицательного числа А до 0, поэтому в n-разрядной компьютерной арифметике: 2n — |А| + |А| = 0.
Это равенство тождественно справедливо, так как в компьютерной n-разрядной арифметике 2n = 0. Действительно, двоичная запись такого числа состоит из одной единицы и n нулей, а в n-разрядную ячейку может уместиться только n младших разрядов, т. е. n нулей.
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные лс»»’« ные числа.
Алгоритм получения кода отрицательного числа.
Для получения дополнительного k-разрядного кода отрицательного числа необходимо
Модуль отрицательного числа представить прямым кодом в k двоичных разрядах (прямой код);
Значение всех бит инвертировать: все нули заменить на единицы, а единицы на нули(таким образом, получается k-разрядный обратный код исходного числа);
К полученному обратному коду прибавить единицу (дополнительный код).
Пример 3.
Представить число +128110 и -128110 в двухбайтовой разрядной сетке.
Представление положительного числа:
Переведем модуль числа в двоичную систему счисления.
128110 = 101000000012.
Нарисуем шестнадцатиразрядную сетку (2 байт = 16 бит). Впишем число, начиная с младшего разряда и указав код знака + в старшем разряде.
1 | 1 | 1 |
код знака
Заполним оставшиеся разряды нулями.
Представление отрицательного числа:
Запишем обратный код числа.
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
код знака
Найдем дополнительный код.
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Шестнадцатеричная форма: FAFF
Индивидуальная работа
Целые числа в памяти компьютера
Задания (для всех вариантов):
Получить двоичную форму внутреннего представления целого положительного числа в 2-х байтовой ячейке.
Получить шестнадцатеричную форму внутреннего представления целого отрицательного числа числа в 2-х байтовой ячейке.
номера заданий | ||
№ варианта | 1 | 2 |
1 | 1450 | -1450 |
2 | 1341 | -1341 |
3 | 1983 | -1983 |
4 | 1305 | -1305 |
5 | 1984 | -1984 |
6 | 1453 | -1453 |
7 | 1833 | -1833 |
8 | 2331 | -2331 |
9 | 1985 | -1985 |
10 | 1689 | -1689 |
11 | 2101 | -2101 |
12 | 2304 | -2304 |
13 | 2345 | -2345 |
14 | 2134 | -2134 |
15 | 2435 | -2135 |
Ответы к работе
Номера заданий | ||
| 1
| 2 |
1 | 0000 0101 1010 1010 | FA56 |
2 | 0000 0101 0011 1101 | FAC3 |
3 | 0000 0111 1011 1111 | F841 |
4 | 0000 0101 0001 1001 | FAE7 |
5 | 0000 0111 1100 0000 | F840 |
6 | 00000101 1010 1101 | FA53 |
7 | 0000 0111 0010 1001 | F8D7 |
8 | 0000 1001 0001 1011 | F6E5 |
9 | 0000 0111 1100 0001 | F83F |
10 | 0000 0110 1001 1001 | F967 |
11 | 0000 1000 00110101 | F7CB |
12 | 0000 10010000 0000 | F700 |
13 | 0000 1001 0010 1001 | F6D7 |
14 | 0000 1000 01010110 | F7AA |
15 | 00001001 1000 0011 | F67D |
Итоги урока, выставление оценок.
Д/З: представить десятичные числа в 2-хбайтовой разрядной сетке и их 16-ричную форму: +421; — 1158.
Тулаева Е.А., учитель информатики высшей категории