План урока
КЛАСС: ДАТА:
ТЕМА: Представление чисел в памяти компьютера.
ЦЕЛИ: 1. Повторить правила перевода из десятичной системы счисления в двоичную и обратно.
2. Разобрать представление целых и вещественных чисел в памяти компьютера.
3. Закрепить знания решением примеров.
Организационный момент Проверка присутствующих, наличия письменных принадлежностей, объявление темы урока. ХОД УРОКА (комбинированный)
Основные тезисы урока.
Оперативная память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое – единице. Каждый такой элемент служит для хранения одного из битов – разрядов двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом.
Для компьютерного представления целых чисел используется несколько различных способов представления, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разряда) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом формате. Представление целых чисел в беззнаковых целых типах.
Для беззнакового представления все разряды ячейки отводятся под представление самого числа. Например, в байте (8 бит) можно представить беззнаковые числа от 0 до 255. Поэтому, если известно, что числовая величина является неотрицательной, то выгоднее рассматривать её как беззнаковую.
Представление целых чисел в знаковых целых типах.
Для представления со знаком самый старший (левый) бит отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0, если отрицательное - 1. Например, в байте можно представить знаковые числа от -128 до 127.
Прямой код числа.
Представление числа в привычной форме "знак"-"величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код отрицательного числа отличается от прямого кода соответствующего положительного числа лишь содержимым знакового разряда. Но отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код.
Дополнительный код числа.
Дополнительный код положительного числа равен прямому коду этого числа. Дополнительный код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке. Как уже было сказано, при представлении неотрицательных чисел в беззнаковом формате все разряды ячейки отводятся под само число. Например, запись числа 243=11110011 в одном байте при беззнаковом представлении будет выглядеть следующим образом:
При представлении целых чисел со знаком старший (левый) разряд отводится под знак числа, и под собственно число остаётся на один разряд меньше. Поэтому, если приведённое выше состояние ячейки рассматривать как запись целого числа со знаком, то для компьютера в этой ячейке записано число -13 (243+13=256=28).
Но если это же отрицательное число записать в ячейку из 16-ти разрядов, то содержимое ячейки будет следующим:
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
Возникает вопрос: с какой целью отрицательные числа записываются в виде дополнительного кода и как получить дополнительный код отрицательного числа?
Дополнительный код используется для упрощения выполнения арифметических операций. Если бы вычислительная машина работала с прямыми кодами положительных и отрицательных чисел, то при выполнении арифметических операций следовало бы выполнять ряд дополнительных действий. Например, при сложении нужно было бы проверять знаки обоих операндов и определять знак результата. Если знаки одинаковые, то вычисляется сумма операндов и ей присваивается тот же знак. Если знаки разные, то из большего по абсолютной величине числа вычитается меньшее и результату присваивается знак большего числа. То есть при таком представлении чисел (в виде только прямого кода) операция сложения реализуется через достаточно сложный алгоритм. Если же отрицательные числа представлять в виде дополнительного кода, то операция сложения, в том числе и разного знака, сводится к из поразрядному сложению.
Для компьютерного представления целых чисел обычно используется один, два или четыре байта, то есть ячейка памяти будет состоять из восьми, шестнадцати или тридцати двух разрядов соответственно.
Алгоритм получения дополнительного кода отрицательного числа.
Для получения дополнительного k-разрядного кода отрицательного числа необходимо
модуль отрицательного числа представить прямым кодом в k двоичных разрядах;
значение всех бит инвертировать: все нули заменить на единицы, а единицы на нули(таким образом, получается k-разрядный обратный код исходного числа);
к полученному обратному коду прибавить единицу.
Пример:
Получим 8-разрядный дополнительный код числа -52:
00110100 - число |-52|=52 в прямом коде
11001011 - число -52 в обратном коде
11001100 - число -52 в дополнительном коде
Задание №1.
Перевести в двоичную систему счисления следующие десятичные числа:
11410 7310 5810 28110
Задание №2.
Записать прямой, обратный и дополнительный коды целых чисел:
1410 -1710 2810 -3110
Задание №3.
Произвести действия в дополнительном коде в однобайтовом формате:
1510 – 710
Решение:
Для числа 1510:
[x]пр= 00001111
[x]обр=00001111
[x]доп=00001111
Для числа -710:
[x]пр= 10000111
[x]обр=11111000
[x]доп=11111001
Производим действия:
00001111
+ 11111001
100001000
В дополнительном коде единица переполнения отбрасывается
Проверка: 10002 = 810
Учебник, стр.21, упр.3
Представьте число 6310 в беззнаковом однобайтовом формате.
Учебник, стр.21, упр.4
Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-ми разрядном формате со знаком:
А) 01001100
Б) 00010101
Представление вещественных чисел
Любое вещественное число А может быть записано в нормальной форме:
А=±mqp, где
M = мантисса числа
Q – основание системы счисления
P – порядок числа
Представление в компьютере вещественных чисел в нормальной форме называется представлением в формате с плавающей запятой.
Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. Например, запись числа 472000000 в нормальной форме будет 0,472109.
Число в формате с плавающей запятой может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.
Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.
Учебник, стр.21, упр.6
Запишите следующие числа в естественной форме:
0,3800456102;
0,24510-3;
1,256900Е+5;
9,569120Е-3.
Учебник, стр.21, упр.7
Запишите число 2010,010210 пятью различными способами в нормальной форме.
Учебник, стр.21, упр.8
Запишите следующие числа в нормальной форме с нормализованной мантиссой – правильной дробью, имеющей после запятой цифру, отличную от нуля:
217,93410
7532110
0,0010110
Подведение итогов урока и выставление оценок
Домашнее задание: учебник, параграф 1.2 (полностью) читать, ответить на вопросы (устно), Р.Т., стр.19-20, упр.37-42, подготовиться к контрольной работе по теме «Числа и системы счисления».
5