Презентация на тему Кодирование вещественных чисел

Содержание

Слайд 2

Для представления вещественных чисел (конечных и бесконечных десятичных дробей) используют формат с

Для представления вещественных чисел (конечных и бесконечных десятичных дробей) используют формат с
плавающей точкой (запятой).

Форма с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления р в некоторой целой степени n, которую называют порядком:
R = m * рn
m – мантисса,
n – порядок,
p – основание системы

Кодирование вещественных чисел

Слайд 3

Например, число 35,324 можно записать в таком виде: 0.35324х102
Здесь m=0.35324 —

Например, число 35,324 можно записать в таком виде: 0.35324х102 Здесь m=0.35324 —
мантисса,
n=2 — порядок
Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная точка в мантиссе. Отсюда название «плавающая точка».
Однако справедливы и следующие равенства:
35,324 = 3,5324*101 = 0,0035324*104 = 3532,4*102 и т.п.

Кодирование вещественных чисел

Слайд 4

Получается, что представление числа в форме с плавающей точкой неоднозначно?
Чтобы не

Получается, что представление числа в форме с плавающей точкой неоднозначно? Чтобы не
было неоднозначности, в ЭВМ используют
нормализованное представление числа в форме с плавающей точкой

Кодирование вещественных чисел

Слайд 5

Мантисса в нормализованном представлении должна удовлетворять условию:
0,1p ≤ m < 1p

Мантисса в нормализованном представлении должна удовлетворять условию: 0,1p ≤ m Иначе говоря,
Иначе говоря, мантисса меньше единицы и первая значащая цифра — не ноль. Значит для рассмотренного числа нормализованным представлением будет:
35,324=0.35324 * 102

Кодирование вещественных чисел

Слайд 6

Машинный
порядок

Пусть в памяти компьютера вещественное число представляется в форме с плавающей точкой

Машинный порядок Пусть в памяти компьютера вещественное число представляется в форме с
в двоичной системе счисления (р=2) и занимает ячейку размером 4 байта. В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы. Вот как эта информация располагается в ячейке:

Кодирование вещественных чисел

Слайд 7

Машинный порядок

В старшем бите 1-го байта хранится знак числа. В этом разряде 0

Машинный порядок В старшем бите 1-го байта хранится знак числа. В этом
обозначает плюс, 1 — минус
Оставшиеся 7 бит первого байта содержат машинный порядок
В следующих трех байтах хранятся значащие цифры мантиссы

Кодирование вещественных чисел

Слайд 8

Что такое машинный порядок?
В семи двоичных разрядах помещаются двоичные числа в

Что такое машинный порядок? В семи двоичных разрядах помещаются двоичные числа в
диапазоне от 0000000 до 1111111. В десятичной системе это соответствует диапазону от 0 до 127. Всего 128 значений. Знак порядка в ячейке не хранится. Но порядок, очевидно, может быть как положительным так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка.

Кодирование вещественных чисел

Слайд 9

В таком случае между машинным порядком и истинным (назовем его математическим) устанавливается

В таком случае между машинным порядком и истинным (назовем его математическим) устанавливается
следующее соответствие:

Если обозначить машинный порядок Мр, а математический — р, то связь между ними выразится такой формулой:
Мр = р + 64

Кодирование вещественных чисел

Слайд 10

Итак, машинный порядок смещён относительно математического на 64 единицы и имеет только

Итак, машинный порядок смещён относительно математического на 64 единицы и имеет только
положительные значения. При выполнении вычислений с плавающей точкой процессор это смещение учитывает
В двоичной системе счисления смещение:
Мр2 = р2+100 00002

Кодирование вещественных чисел

Слайд 11

Теперь мы можем записать внутреннее представление числа 35,324 в форме с плавающей

Теперь мы можем записать внутреннее представление числа 35,324 в форме с плавающей
точкой
1) Переведем его в двоичную систему счисления с 24 значащими цифрами
35,324= 100011,0101001011110001102

Кодирование вещественных чисел

Слайд 12

2) Запишем в форме нормализованного двоичного числа с плавающей точкой:
0,100011010100101111000110*10110

Здесь мантисса,

2) Запишем в форме нормализованного двоичного числа с плавающей точкой: 0,100011010100101111000110*10110 Здесь
основание системы счисления (210=102) и порядок (610=1102)записаны в двоичной системе

Кодирование вещественных чисел

Слайд 13

3) Вычислим машинный порядок
Мр2 = 110 + 100 0000 =

3) Вычислим машинный порядок Мр2 = 110 + 100 0000 = 100
100 0110

4) Запишем представление числа в ячейке памяти

порядок

мантисса

Знак числа

Кодирование вещественных чисел

Слайд 14

Число в форме с плавающей точкой занимает в памяти компьютера 4 байта

Число в форме с плавающей точкой занимает в памяти компьютера 4 байта
(число обычной точности) или 8 байт (число двойной точности).
Мы рассмотрели пример представления числа 35,324 обычной точности

Кодирование вещественных чисел

Слайд 15

Для того, чтобы получить внутреннее представление отрицательного числа
-35,324, достаточно в полученном

Для того, чтобы получить внутреннее представление отрицательного числа -35,324, достаточно в полученном
выше коде заменить в разряде знака числа 0 на 1

Кодирование вещественных чисел

Слайд 16

Представьте двоичное число -100,12 в четырёхбайтовом формате. Представьте число сначала в

Представьте двоичное число -100,12 в четырёхбайтовом формате. Представьте число сначала в форме
форме с плавающей запятой.

Задание:

Кодирование вещественных чисел

Слайд 17

-100,12= -0,1001*211
Мантисса -0,1001
Порядок 11
Машинный порядок 11+100 0000=1000011

Решение:

Кодирование вещественных чисел

-100,12= -0,1001*211 Мантисса -0,1001 Порядок 11 Машинный порядок 11+100 0000=1000011 Решение: Кодирование вещественных чисел