Конспект урока "Представление чисел в компьютере. Арифметические действия над целыми числами" 10 класс

1
Тема
Представление чисел в компьютере.
Арифметические действия над целыми числами.
Арифметические операции над числами с плавающей точкой.
Цель урока: иметь представление о форматах чисел с фиксированной и
плавающей запятой (точкой), знать понятия прямого кода, обратного кода,
дополнительного кода, уметь записывать целые числа (положительные и
отрицательные) в прямом, обратном и дополнительном коде.
Задачи урока:
образовательные: закрепление знаний учащихся по теме «Представление
целых чисел в компьютере».
развивающие: совершенствование умственной и познавательной деятельности
учащихся, развитие мышления учащихся.
воспитательные: сознательное усвоение материала учащимися.
Материалы и оборудование к уроку: презентация, конспект урока, карточки
с практической работой, тренировочный тест (ЭОР), интерактивная доска.
Тип урока: комбинированный урок объяснения нового материала и решения
примеров.
Форма проведения урока: беседа, практическая работа по решению задач,
парная, индивидуальная, фронтальная формы работы.
Продолжительность урока: 2 урока по 45 мин.
План урока:
1. Организационный момент.
2. Объяснение нового материала.
1). Целые числа. Представление чисел в формате с фиксированной запятой и
плавающей точкой.
2). Понятие прямого, обратного и дополнительного кода.
3). Арифметические действия над целыми числами.
4). Арифметические операции над числами с плавающей точкой.
3. Закрепление изученного (практика и тренировочный тест).
4. Домашнее задание.
Ход урока:
1. Организационный момент.
2. Новый материал.
2
1). Целые числа. Представление чисел в формате с фиксированной
точкой.
Слайд №2
Фиксированная точка.
Целые числа в компьютере хранятся в памяти в формате с фиксированной
запятой или фиксированной точкой. В этом случае каждому разряду ячейки
памяти соответствует всегда один и тот же разряд числа, а запятая находится
справа после младшего разряда, т.е. вне разрядной сетки.
Для хранения целых неотрицательных чисел отводится одна ячейка
памяти (8 битов). Например, число А
2
= 11110000
2
будет храниться в ячейке
памяти следующим образом:
Максимальное значение целого неотрицательного числа достигается в
случае, когда во всех ячейках хранятся единицы. Если в первых двух ячейках
11, а в остальных 0, то значение числа будет равно 3, если число представлено
как 111, то значение числа 7, если единицами занято 8 разрядов, то значение
числа равно 2
8
-1 =256-1=255, так как отсчет начинается с 0.
Для п-разрядного представления оно будет равно 2
n
-1.
Это можно доказать и по-другому:
Максимальное число соответствует восьми единицам и равно
А = 12
7
+12
6
+12
5
+ 12
4
+ 12
3
+ 12
2
+ 12
1
+ 12° = 12
8
- 1 = 255
10
.
Диапазон изменения целых неотрицательных чисел: от 0 до 255.
Итак, целые числа могут представляться в компьютере со знаком или
без знака.
Целые числа без знака обычно занимают в памяти один или два байта и
принимают в однобайтовом формате значения от 00000000
2
до 11111111
2
, а в
двубайтовом формате — от 00000000 00000000
2
до 11111111 11111111
2
.
Диапазоны значений целых чисел без знака
Формат
числа в
байтах
Диапазон
Запись с порядком
Обычная запись
1
0 ... 2
8
1
0 ... 255
2
0 ... 2
16
1
0 ... 65535
Слайд№3
Примеры:
3
а) число 72
10
= 1001000
2
в однобайтовом формате:
б) это же число в двубайтовом формате:
в) число 65535 в двубайтовом формате:
Представление целых положительных чисел.
Алгоритм№1. Получения внутреннего представления целого
положительного числа N, хранящегося в k разрядном машинном слове:
1. Перевести число N в двоичную систему счисления.
2. Полученный результат дополнить слева незначащими нулями до k разрядов.
2).Представление целых чисел со знаком. Прямой код числа.
Для хранения целых чисел со знаком отводится две ячейки памяти (16
битов), причем старший (левый) разряд отводится под знак числа (если число
положительное, то в знаковый разряд записывается 0, если число
отрицательное — 1).
Число 39
10
= 100111
2
в однобайтовом формате:
Число 39
10
= 100111
2
в двубайтовом формате:
Число 65 535
10
= 11111111 11111111
2
в двубайтовом формате:
4
Максимальное положительное число учетом выделения одного разряда на
знак) для целых чисел со знаком в n-разрядном представлении равно:
А = 2
п -1
- 1. (один разряд на знак).
Слайд №4
Целые числа со знаком обычно занимают в памяти компьютера один, два
или четыре байта, при этом самый левый (старший) разряд содержит
информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус”
единицей.
Диапазоны значений целых чисел со знаком
Формат
числа в
байтах
Диапазон
Обычная запись
1 байт
= 8 бит
128 ... 127
2
байта
=16
бит
32768 ... 32767
4
байта
=32
бита
2 147 483 648 ... 2 147 483
647
Слайд №5
Числа, для хранения которых отводится четыре ячейки памяти –32 бита,
это числа, хранящиеся в оперативной памяти в формате длинных целых
чисел со знаком. Значения минимального отрицательного и
максимального положительного чисел ограничены. Это недостаток
представления чисел в формате с фиксированной запятой.
Алгоритм№2 .Получение внутреннего представления целого числа со
знаком, хранящегося в k разрядном машинном слове (запись числа в прямом
коде):
1. Перевести число N в двоичную систему счисления.
2. Полученный результат дополнить слева незначащими нулями до k-1 разрядов.
3. Записать в самый левый (старший) разряд информацию о знаке числа: знак
“плюс” кодируется нулем, а “минус” — единицей.
5
Дополнительный код. Обратный код.
Итак, в компьютерной технике применяются три формы записи
(кодирования) целых чисел со знаком:
прямой код (в формате «знак-величина»),
обратный код (получается инвертированием всех цифр двоичного кода
абсолютной величины числа, включая разряд знака: нули заменяются
единицами, а единицы — нулями,
дополнительный код (получается образованием обратного кода с
последующим прибавлением единицы к его младшему разряду).
Слайд №7
Слайд №8
Для представления отрицательных чисел используется дополнительный код.
Дополнительный код позволяет заменить арифметическую операцию
вычитания операцией сложения, что существенно упрощает работу процессора
и увеличивает его быстродействие. Последние две формы применяются
особенно широко, так как позволяют упростить конструкцию арифметико-
логического устройства компьютера путем замены разнообразных
арифметических операций операцией cложения.
Рассмотрим особенности записи целых чисел со знаком на примере
однобайтового формата, при котором для знака отводится один разряд, а для
цифр абсолютной величины – семь разрядов.
Слайд №6
Положительные числа в прямом, обратном и дополнительном кодах
изображаются одинаково — двоичными кодами с цифрой 0 в знаковом
разряде.
Например:
6
Слайд №9
Отрицательные числа в прямом, обратном и дополнительном кодах
имеют разное изображение.
1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды
цифровой части числа — двоичный код его абсолютной величины. Например:
2. Обратный код. Получается инвертированием всех цифр двоичного кода
абсолютной величины числа (модуля числа), включая разряд знака: нули
заменяются единицами, а единицы — нулями. Например:
3. Дополнительный код. Получается образованием обратного кода с
последующим прибавлением единицы к его младшему разряду. Например:
Обычно отрицательные десятичные числа при вводе в машину
автоматически преобразуются в обратный или дополнительный
двоичный код и в таком виде хранятся, перемещаются и участвуют в
операциях. При выводе таких чисел из машины происходит обратное
преобразование в отрицательные десятичные числа.
Слайд № 10
3) Как компьютер выполняет арифметические действия над целыми
числами?
Сложение и вычитание
7
В большинстве компьютеров операция вычитания не используется.
Вместо нее производится сложение уменьшаемого с обратным или
дополнительным кодом вычитаемого. Это позволяет существенно упростить
конструкцию АЛУ.
При сложении обратных кодов чисел А и В имеют место четыре
основных и два особых случая:
1. А и В положительные. При суммировании складываются все разряды,
включая разряд знака. Так как знаковые разряды положительных слагаемых
равны нулю, разряд знака суммы тоже равен нулю. Например:
Получен правильный результат.
Слайд №13
2. А положительное, B отрицательное и по абсолютной величине
больше, чем А. Например:
Получен правильный результат в обратном коде. При переводе в прямой
код биты цифровой части результата инвертируются: 1 0000111 = –7
10
.
Слайд №13
3. А положительное, B отрицательное и по абсолютной величине
меньше, чем А. Например:
8
Компьютер исправляет полученный первоначально неправильный
результат (6 вместо 7) переносом единицы из знакового разряда в младший
разряд суммы!!!
Слайд № 14
4. А и В отрицательные. Например:
Слайд №15
Полученный первоначально неправильный результат братный код числа
11
10
вместо обратного кода числа –10
10
) компьютер исправляет переносом
единицы из знакового разряда в младший разряд суммы.
При переводе результата в прямой код биты цифровой части числа
инвертируются: 1 0001010 = –10
10
.
При сложении может возникнуть ситуация, когда старшие разряды
результата операции не помещаются в отведенной для него области памяти.
Такая ситуация называется переполнением разрядной сетки формата числа.
Для обнаружения переполнения и оповещения о возникшей ошибке в
компьютере используются специальные средства. Ниже приведены два
возможных случая переполнения (используем калькулятор для быстрого
перевода: МС очистка памяти, МР- чтение памяти, М+ добавить в
память).
9
5. А и В положительные, сумма А+В больше, либо равна 2
n1
, где n
количество разрядов формата чисел (для однобайтового формата n=8, 2
n1
= 2
7
=
128). Например:
Семи разрядов цифровой части числового формата недостаточно для
размещения восьмиразрядной суммы (162
10
= 10100010
2
), поэтому старший
разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение
знака суммы и знаков слагаемых (знак суммы отрицателен, знак
слагаемых положительный), что является свидетельством переполнения
разрядной сетки.
Слайд №16
6. А и В отрицательные, сумма абсолютных величин А и В больше,
либо равна 2
n1
.
Например:
63
2
=0111111
2
Здесь знак суммы тоже не совпадает со знаками слагаемых, что
свидетельствует о переполнении разрядной сетки.
Слайд №17
Все эти случаи имеют место и при сложении дополнительных кодов
чисел:
1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного
для обратного кода, т.к. дополнительный код используется только для
10
отрицательных чисел.
Слайд №18
2. А положительное, B отрицательное и по абсолютной величине
больше, чем А. Например:
Получен правильный результат в дополнительном коде.
При переводе в прямой код биты цифровой части результата
инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1
= 1 0000111 = 7
10
.
Слайд №19
3. А положительное, B отрицательное и по абсолютной величине
меньше, чем А. Например:
Получен правильный результат. Единицу переноса из знакового
разряда компьютер отбрасывает.
Слайд №20
4. А и В отрицательные. Например:
11
Получен правильный результат в дополнительном коде. Единицу переноса
из знакового разряда компьютер отбрасывает.
Слайд №21
Случаи переполнения для дополнительных кодов рассматриваются по
аналогии со случаями 5 и 6 для обратных кодов.
Слайд №22
Слайд №23
Слайд № 24
4). Представление чисел с плавающей точкой.
Этот способ представления опирается на нормализованную
(экспоненциальную) запись действительных чисел.
Нормализованная запись отличного от нуля действительного числа A - это
запись вида:
А= m* q
n
,
где m – мантисса числа (правильная дробь, у которой первая цифра после
запятой не равна нулю),
q основание системы,
n порядок числа.
Слайд №25
12
Примеры:
1. Мантисса числа 64.5 – это число 0.645, а порядок – число 2, так как 64.5 =
0.645*10 степень (2).
2. Мантисса числа 0.0000012 – это число 0.12, а порядок – число -5,
потому что 0.0000012= =0.12*10 степень(-5).
При представлении чисел с плавающей запятой часть разрядов ячейки
отводится для записи порядка числа, остальные разряды - для записи
мантиссы. По одному разряду в каждой группе отводится для изображения
знака порядка и знака мантиссы.
Операции над числами с плавающей точкой.
Слайд №28
Слайд №29
4. Закрепление полученных знаний.
Вопросы учащимся:
1. Какие выводы можно сделать из рассмотренных примеров кодирования
чисел и арифметических действий с числами? (Оцените удобство
выполнения операций).
Сравнение рассмотренных форм кодирования целых чисел со знаком
показывает:
на преобразование отрицательного числа в обратный код компьютер
затрачивает меньше времени, чем на преобразование в
дополнительный код, так как последнее состоит из двух шагов
образования обратного кода и прибавления единицы к его младшему
разряду;
время выполнения сложения для дополнительных кодов чисел
меньше, чем для их обратных кодов, потому что в таком сложении нет
переноса единицы из знакового разряда в младший разряд результата.
2. Назовите алгоритмы перевода чисел в обратный и дополнительный
коды:
13
Алгоритм№3 (перевод числа в обратный код)
Обратный код.
1. Записать двоичный код абсолютной величины числа.
2. Инвертировать все цифры двоичного кода абсолютной величины числа
(модуля числа), включая разряд знака: нули заменяются единицами, а
единицы — нулями.
Алгоритм№4 (перевод отрицательного числа в дополнительный код).
Дополнительный код отрицательного числа.
1. Модуль числа записать в прямом коде в п двоичных разрядах. (Для
этого получить внутреннее представление положительного числа N:
перевести число N в двоичную систему счисления, полученный результат
дополнить слева незначащими нулями до k разрядов)
2. Получить обратный код числа, для этого значения всех битов
инвертировать (все единицы заменить на нули и все нули заменить на
единицы).
3. К полученному обратному коду прибавить единицу.
3. Назовите алгоритм перевода дополнительного кода в десятичное число
Алгоритм №5 перевода дополнительного кода в десятичное число.
1. Инвертировать дополнительный код
2. Прибавить к полученному коду 1 и получить модуль
отрицательного числа:
3. Перевести в десятичное число и приписать знак отрицательного
числа.
4. В чем вы видите достоинства представления чисел в формате с
фиксированной запятой?
Ответ: простота и наглядность представления чисел, простота алгоритмов
реализации арифметических операций.
5.Рассмотрите пример записи дополнительного кода отрицательного числа
-2002 для 16 разрядного компьютерного представления (учебник, стр. 105).
В чем сущность использования дополнительного кода?
Ответ:
14
При n-разрядном представлении отрицательного числа в дополнительном
коде старший разряд выделяется для хранения знака числа (единицы). В
остальных разрядах записывается положительное число.
(http://fcior.edu.ru/) федеральный центр информационно-
образовательных ресурсов.
15
16
17
4. Домашнее задание:
18
1. Угринович Н.Д. п. 2.9., стр.103-105.
2. Заполнить выданные карточки.
Карточки:
Карточка №1
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= -548, B=292
Решение:
A= -548
(10)
= ____________________________________________
B=292
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №2
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= 330, B=-509
Решение:
A= 330
(10)
= ____________________________________________
B=-509
(10)
= ________________________________________________
19
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №3
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= 490, B=-491
Решение:
A= 490
(10)
= ____________________________________________
B=-491
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
20
Х
дк
Ответ:
Х
дк
Карточка №4
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= -256, B=-128
Решение:
A= -256
(10)
= ____________________________________________
B=-128
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №5
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= 440, B=-563
21
Решение:
A= 440
(10)
= ____________________________________________
B=-563
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №6
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= -264, B=-336
Решение:
A= -264
(10)
= ____________________________________________
B=-336
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
22
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №7
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= 268, B=-368
Решение:
A= 268
(10)
= ____________________________________________
B=-368
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №8
23
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= -260, B=-252
Решение:
A= -260
(10)
= ____________________________________________
B=-252
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №9
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= 198, B=-580
Решение:
A= 198
(10)
= ____________________________________________
B=-580
(10)
= ________________________________________________
А
пк
А
дк
24
В
пк
В
дк
Х
пк
Х
дк
Ответ:
Х
дк
Карточка №10
Выполнить задания по карточкам: перевести десятичное число в двоичную
систему счисления, выполнить сложение, записывая числа в прямом и
дополнительном кодах.
Условие: X=A+B, где A= -222, B=-290
Решение:
A= -220
(10)
= ____________________________________________
B=-290
(10)
= ________________________________________________
А
пк
А
дк
В
пк
В
дк
Х
пк
Х
дк
Ответ:
25
Х
дк
Литература:
Информатика. Путеводитель абитурента и старшеклассника. Авт.-
сост. Н.А. Подольская.- М.: Научно-технический центр
«Университетский», 1998.-128 стр.
Информатика 10 класс. Поурочные планы по учебнику Н.Д.
Угриновича «Информатика и информационные технологии.10-11
классы. Составитель М.Г.Гилярова. Издательско-торговый дом
«Корифей».Волгоград.2007.128 стр.
http://pedsovet.su/load/14-1-0-3796
http://fcior.edu.ru/