Кодирование числовой информации 9 – 10 класс Начало Завершить работу
Цели урока Познакомиться с форматами представления чисел в компьютере Научиться представлять целые числа в формате с фиксированной точкой Научиться выполнять сложение и вычитание двоичных кодов в формате с фиксированной точкой Закрепить правила перевода чисел из одной системы счисления в другую Повторить основные понятия по теме «Системы счисления»
Повторение материала В какой наименьшей системе счисления могут быть записаны числа? Подготовка к ЕГЭ Задание 1. Сколько единиц в двоичной записи чисел: 33 68 1027 Проверка задания
Задание 1. Перевести число 3045 в десятичную систему счисления. 3045 = 3*25 + 0*5 + 4*1 = 75 +4 = 7910 Задание 2. Перевести число 13110 в семеричную систему счисления. 13110 = 2457 Проверим домашнее задание!
Задание 3. Выполнить сложение двоичных чисел 1011012 + 11011012 Задание 4. Перевести число из: двоичной системы счисления в восьмеричную и шестнадцатеричную: 1111001011101012 745658 = 797516 восьмеричной системы счисления в шестнадцатеричную систему счисления: 31042568. 1 1 0 1 1 0 12 + 1 0 1 1 0 12 1 0 0 1 1 0 1 02 0 1100 1000 1000 1010 11102 = С88АЕ16
Задание 5. (Подготовка к ЕГЭ) Какое двоичное число лежит между числами ED16 и 3578? ED16 = 111011012 3578 = 111011112 111011012 < 111011102 < 111011112 Ответ: 111011102 Решение
Тема: «Кодирование числовой информации»
Целочисленный формат (формат с фиксированной точкой) размер ячейки диапазон значений чисел 1 байт от 0 до 28 - 1 2 байта от 0 до 216 - 1 1 байт от -27 до 27 - 1 2 байта от -215 до 215 -1 4 байта от -231 до 231 -1
Запись двоичного кода целого числа Алгоритм записи двоичного кода целого числа: Перевести число в двоичную систему счисления Полученный результат дополнить слева незначащими нулями в пределах выбранного формата (прямой код числа) 7 разряд 0 разряд ячейки для хранения двоичных цифр числа
Задание 1. Записать двоичный код числа 35. Переведём число в двоичную систему счисления 2. Дополним результат нулями слева в пределах выбранного формата формат 1 байт формат 2 байта Решение Пример 35 17 8 4 2 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 биты числа
Знак числа: 0 – прямой код неотрицательного числа 1 – дополнительный код отрицательного числа Алгоритм перевода целых отрицательных чисел: Записать прямой код модуля числа Записать обратный код числа, т.е. инвертировать все цифры двоичного кода модуля числа, включая разряд знака: 0 заменить на 1 и 1 на 0. Записать дополнительный код, прибавив к меньшему разряду обратного кода 1. Дополнительный код для положительного числа совпадает с прямым кодом. Запись двоичного кода целого числа со знаком знак числа ячейки для хранения двоичных цифр числа
Задание 2. Записать двоичный код числа -35 в однобайтовом формате. -3510 = -1000112 Прямой код |-35|: 00100011 Обратный код: 11011100 Дополнительный код: 1 1011101 Решение Пример отрицательное число 1 1 0 1 1 1 0 1 знак числа ячейки для хранения двоичных цифр числа
Задания на сложение и вычитание целых чисел Задание 3. Найти сумму двоичных кодов и выполнить проверку в десятичной системе счисления. 1310 + 4610 Задание 4. Найти разность двоичных кодов и выполнить проверку в десятичной системе счисления. 4610 -1310 1310 - 4610 -1310 - 4610 Проверка задания 3 Проверка задания 4а) Проверка задания 4b) Проверка задания 4c)
Представление вещественных чисел (формат с плавающей точкой) Нормализованная форма записи вещественных чисел X= m*pn, где m- мантисса числа р – основание системы счисления n – порядок 152,3410 = 1523,4 * 10-1 = 1,5234 *102 мантисса порядок нормализованное представление числа Мантисса в целой части нормализованного числа содержит одну цифру, отличную от нуля! Стандартные форматы Размер ячейки Одинарный 4 байта Двойной 8 байт Расширенный 10 байт
Алгоритм перевода вещественных чисел с плавающей точкой: Записать число в нормализованном виде; Вычислить смещённый порядок (порядок числа + 12710); Записать код числа в заданном формате. Знак мантиссы: 0 – положительное число 1- отрицательное число 3 байт 2 байт 1 байт 0 байт 31 3 2 1 0 знак мантиссы 8 бит – для записи смещённого порядка для записи абсолютной величины мантиссы (без целой части)
Задание 5. Дано число (-12510 ). Сформировать код с плавающей точкой в формате 4 байта. Представим число в нормализованном виде: 125,0 = 1,25*102 Переведём число 125 в двоичную систему счисления: 11111012 1,25 = 1,1111012 * 106 Вычислим смещённый порядок: 610 + 12710 = 510 + 12810 = 1012 + 100000002 = 100001012 Запишем двоичный код данного числа Решение Пример 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Решение задач Задание 6. Определить, каким десятичным числам соответствуют следующие двоичные коды в однобайтном представлении.
Задание 7. Представить дополнительный код 11001001 в десятичное число. Учитывая, что в дополнительном коде первая цифра 1, получаем: -1101112 = -1*32 + 1*16 + 1*4 + 1*2 +1*1 = -5510 Решение 11001001 дополнительный код 00110110 инверсия + 1 00110111 прямой код модуля
Задание 8. Какой из двоичных кодов является представлением десятичного числа 59 в формате с фиксированной точкой? 59 00111101 00111001 00111011 00111111
Задание 9. Закончите вычисления и заполните пропуски. Сумма чисел Разность чисел 3710 + 4810 0 1 0 0 1 ? 1 1 0 0 прямой код числа 48 ? 4810 - 3710 прямой код числа 37 ? ? ? ?
Самостоятельная работа 1. Чему равно х = 1678 – 5916? 1118 2) 11116 3) 368 4) 3616 2. Записать в однобайтовом формате прямой код числа 103. 3. Найти десятичное представление числа, записанного в дополнительном коде: 1 0100100. 4. Выполнить вычитание чисел в формате 1 байт: 27 – 61. 5. Какое целое положительное десятичное число соответствует двоичному коду, представленному в однобайтовом формате? 1 0 0 0 1 0 1 1
Спасибо за урок Завершить работу
Проверь себя! 33 = 25 +1= 1000002 + 12 = 1000012 68 = 26 +22 = 10000002 + 1002 = 10001002 1027=210+3=100000000002+112= 100000000112
1310 + 4610 = 5910 1110112 = 1*32 + 1*16 + 1*8 + 1*2 + 1*1 = 5910 Проверь себя! 0 0 0 0 1 1 0 1 прямой код числа 13 0 0 1 0 1 1 1 0 прямой код числа 46 0 0 1 1 1 0 1 1 результат
4610 – 1310 = 4610 + (-1310) = 3310 положительное число! 1000012 = 1*32 + 1*1 = 3310 Проверь себя! 0 0 0 0 1 1 0 1 прямой код числа 13 1 1 1 1 0 0 1 0 обратный код числа 13 1 1 1 1 0 0 1 1 дополнительный код числа 13 0 0 1 0 1 1 1 0 прямой код числа 46 0 0 1 0 0 0 0 1 сумма кодов
1310 – 4610 = 1310 + (-4610) = - 3310 отрицательное число При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется 1: 1 0100000 + 1 = 1 0100001 = -3310 Проверь себя! 0 0 1 0 1 1 1 0 прямой код числа 46 1 1 0 1 0 0 0 1 обратный код числа 46 1 1 0 1 0 0 1 0 дополнительный код числа 46 0 0 0 0 1 1 0 1 прямой код числа13 1 1 0 1 1 1 1 1 дополнительный код числа 33 1 0 1 0 0 0 0 0 инвертирование 1 0 1 0 0 0 0 1 результат
-4610 -1310 = - 4610 + (-1310) = -5910 Переполнение разрядной сетки формата числа ( 1 отбрасывается) При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется 1: 1 0111010 + 1 = 1 0111011 = -5910 Проверь себя! 0 0 1 0 1 1 1 0 прямой код числа 46 0 0 0 0 1 1 0 1 прямой код числа13 1 1 0 1 0 0 0 1 обратный код числа 46 1 1 1 1 0 0 1 0 обратный код числа 13 1 1 0 1 0 0 1 0 дополнительный код числа 46 1 1 1 1 0 0 1 1 дополнительный код числа 13 1 1 1 0 0 0 1 0 1 дополнительный код числа 59
Проверь себя! 3710 + 4810 0 0 1 0 0 1 0 1 прямой код числа 37 0 0 1 1 0 0 0 0 прямой код числа 48 0 1 0 1 0 1 0 1 результат
Проверь себя! 4810 - 3710 0 0 1 0 0 1 0 1 прямой код числа 37 1 1 0 1 1 0 1 0 обратный код числа 37 1 1 0 1 1 0 1 1 дополнительный код числа 37 0 0 1 1 0 0 0 0 прямой код числа 48 0 0 0 0 1 0 1 1 результат
Правильно!
Подумай лучше! Пример Задание