Представление чисел в компьютере 1. Представление целых положительных чисел. 2. Представление целых отрицательных чисел. 3. Особенности реализации арифметических операций с целыми числами. 4. Представление вещественных чисел. 1
Представление целых положительных чисел (беззнаковое) Количество разрядов Максимальное число 8255 (2 8 -1) ( ) ( ) ( ) N2 n -1 Пример. 8-разрядное представление числа 109: разрядное представление числа 109:
Представление целых чисел со знаком (с фиксированной запятой) Определение. Представление числа в форме, при которой старший разряд ячейки отводится под знак, остальные разряды – под цифры числа, называется прямым кодом В знаковом разряде 1 В знаковом разряде 0 3
Представление целых отрицательных чисел Определение. K-разрядный дополнительный код отрицательного числа m – это запись в k разрядах положительного числа 2 k -|m|, где |m| - модуль отрицательного числа m, |m|<=2 k-1. Разрядность Минимальное число Максимальное число N-2 n-1 2 n
Представление целых отрицательных чисел Алгоритм получения дополнительного k-разрядного кода отрицательного числа. 1. Модуль числа представить прямым кодом в k двоичных разрядах. 2. Значение всех разрядов инвертировать (все нули заменить на единицы, а единицы – на нули), получив, таким образом, обратный код исходного числа. 3. К полученному обратному коду прибавить единицу. Задание. Получить дополнительный код числа -52 для восьмиразрядной ячейки. 1 шаг шаг 3 шаг 5
Задания для самостоятельной работы. 1. Получить дополнительный код числа -52 для шестнадцатиразрядной ячейки. 2. Получить внутреннее представление числа Получить десятичное значение числа по его дополнительному коду Записать в двоичной и шестнадцатеричной форме внутреннее представление наибольшего положительного целого и наибольшего по абсолютной величине отрицательного целого числа, представленных в 2-байтовой ячейке памяти. 5. Для чисел А= и В= выполните следующие операции: А+В, А-В, В-А, -А-А, -В-В, -А-В (в восьмиразрядном знаковом представлении). 6
Представление вещественных чисел Вещественные числа в компьютере хранятся в формате с плавающей запятой, который опирается на нормализованную форму записи числа. A=m*q n, m – мантисса числа, (1/n<=|m|<1) q – основание системы счисления n – порядок числа Примеры нормализации чисел: 1.0=0,0* , =0, * , =0,107* , =0, *2 4 7 Мантисса числа должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.
Представление вещественных чисел Задание 1. Запишите следующие десятичные числа в нормализованном виде: 217,934 10, , Задание 2. Приведите к нормализованному виду следующие числа: -0, ,ABCD 16 Задание 3. Сравните следующие числа: 318,4785*10 9 и 3,184785* ,4785*10 -3 и 21847,85* , *2 2 и *2 -2 0,217934*10 3 0,100101*10 2 0,75321*10 5 0,200450* , * , * , ABCD 16 *
Представление вещественных чисел В памяти ЭВМ мантисса представляется как целое число, содержащее только ее значащие цифры (ноль целых и запятая не хранятся). Задача внутреннего представления вещественного числа сводится к представлению пары целых чисел: мантиссы (m) и порядка (n). Для 0,25324 · 10 2 m = 25324, n = ) В старшем бите 1-го байта хранится знак числа: 0 - плюс, 1 -минус; 2) 7 оставшихся битов 1-го байта содержат машинный порядок; 3) в следующих 3-х байтах хранятся значащие цифры мантиссы.
Сложение и вычитание чисел в формате с плавающей запятой 1 шаг Выравнивание порядков: меньший по модулю порядок числа увеличивается до величины большего по модулю порядка числа 0,23619* ,71824* ,71824*10 -1 =0, * шаг Сложение (вычитание) мантисс *0, *0, *0, Самостоятельно. Найдите разность 0,397621*10 3 и 0,237900*
Представление вещественных чисел 3130……232221………10 Знак числа Порядок Абсолютная величина мантиссы Абсолютная величина мантиссы Задание 1. Запишите внутреннее представление числа -17,25 в форме с плавающей запятой (в 32-разрядной сетке). 11
Представление вещественных чисел Решение. 1. Переведем в двоичную систему счисления модуль числа: 10001,01 2. Запишем в форме нормализованного двоичного числа с плавающей точкой: 1, * Построим значащую часть, скрыв 1 в целой части: 0, …0 – прямой код 4. Т.к. число отрицательное, то в знаковом разряде ставим Кодирование порядка: кодирование со смещением d. Для 32- разрядной сетки d=127= = Представление с учетом знака: = С1 8А
1. Вычислите сумму чисел x и y, при x = A6 16, y = Результат представьте в двоичной системе счисления. 2. Чему равно значение выражения в двоичной системе счисления? 3. Чему равна разность чисел и ? Ответ запишите в восьмеричной системе счисления. 4. Чему равна разность чисел и ? Ответ запишите в двоичной системе счисления. 5. Чему равна сумма чисел 27 8 и ? Ответ запишите в шестнадцатеричной системе счисления. 6. Чему равна сумма чисел 43 8 и ? Ответ запишите в двоичной системе счисления. 13