Представление вещественных чисел. Лекция 2

Содержание

Слайд 2

Вещественные числа обычно представляются в виде чисел с плавающей запятой. Числа с

Вещественные числа обычно представляются в виде чисел с плавающей запятой. Числа с
плавающей запятой — один из возможных способов представления действительных чисел, который является компромиссом между точностью и диапазоном принимаемых значений.
Число с плавающей запятой состоит из набора отдельных двоичных разрядов, условно разделенных на так называемые знак (англ. sign), порядок (англ. exponent) и мантиссу (англ. mantis).
В наиболее распространённом формате (стандарт IEEE 754) число с плавающей запятой представляется в виде набора битов, часть из которых кодирует собой мантиссу числа, другая часть — показатель степени, и ещё один бит используется для указания знака числа (0 — если число положительное, 1— если число отрицательное).
При этом порядок записывается как целое число в коде со сдвигом, а мантисса — в нормализованном виде, своей дробной частью в двоичной системе счисления.

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

Слайд 3

Знак — один бит, указывающий знак всего числа с плавающей точкой. Порядок

Знак — один бит, указывающий знак всего числа с плавающей точкой. Порядок
и мантисса — целые числа, которые вместе со знаком дают представление числа с плавающей запятой в следующем виде:

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

где S — знак, B— основание, P— порядок, а M— мантисса.

(-1)S*M*BP

Слайд 4

Более простым вариантом представления вещественных чисел является вариант с фиксированной точкой, когда

Более простым вариантом представления вещественных чисел является вариант с фиксированной точкой, когда
целая и вещественная части хранятся отдельно.
Например, на целую часть отводится всегда X бит и на дробную отводится всегда Y бит.
Такой способ в архитектурах процессоров не присутствует. Отдаётся предпочтение числам с плавающей запятой, как компромиссу между диапазоном допустимых значений и точностью.

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

Слайд 5

Нормальной формой (англ. normal form) числа с плавающей запятой называется такая форма,

Нормальной формой (англ. normal form) числа с плавающей запятой называется такая форма,
в которой мантисса (без учёта знака) в десятичной системе находится на полуинтервале [0,1).
Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно, поэтому распространена также другая форма записи — нормализованная (англ. normalized), в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно).

Нормальная форма

Слайд 6

То есть в мантиссе слева от запятой до применения порядка находится ровно

То есть в мантиссе слева от запятой до применения порядка находится ровно
один знак.
В такой форме любое число записывается единственным образом.
Так как старший двоичный разряд (целая часть) мантиссы вещественного числа в нормализованном виде всегда равен «1», то его можно не записывать, сэкономив таким образом один бит, что и используется в стандарте IEEE 754.
В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого замечательного свойства нет (ведь целая часть там может быть не только единицей).

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

Слайд 7

Вещественные числа

Вещественные числа

Слайд 8

Тип Диапазон значений Размер(байт)
float 3.4E–38 … 3.4E+38 4
double 1.7E–308 … 1.7E+308 8
long double 3.4E–4932 … 3.4E+4932 10

Представление вещественных

Тип Диапазон значений Размер(байт) float 3.4E–38 … 3.4E+38 4 double 1.7E–308 …
чисел

Слайд 9

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

В нормализованной форме числа с плавающей точкой невозможно представить ноль. Поэтому для
его представления зарезервированы специальные значения мантиссы и порядка — число считается нулём, если все его биты, кроме знакового, равны нулю.
При этом в зависимости от значения бита знака ноль может быть как положительным, так и отрицательным.

Число 0

Слайд 10

Арифметика нуля со знаком

Арифметика нуля со знаком

Слайд 11

NaN — это аббревиатура от фразы "not a number". NaN является результатом

NaN — это аббревиатура от фразы "not a number". NaN является результатом
арифметических операций, если во время их выполнения произошла ошибка (примеры см. ниже).
В IEEE 754 NaN представлен как число, в котором все двоичные разряды порядка — единицы, а мантисса не нулевая.
Любая операция с NaN возвращает NaN. При желании в мантиссу можно записывать информацию, которую программа сможет интерпретировать. Стандартом это не оговорено и мантисса чаще всего игнорируется.

Неопределенность (NaN)

Слайд 12

Получение NaN

Получение NaN

Слайд 13

Как и нули со знаком, бесконечности позволяют получить хотя бы близкий к

Как и нули со знаком, бесконечности позволяют получить хотя бы близкий к
правильному результат вычисления в случае переполнения.
Согласно стандарту IEEE 754 число с плавающей запятой считается равным бесконечности, если все двоичные разряды его порядка — единицы, а мантисса равна нулю.
Знак бесконечности определяется знаковым битом числа.

Бесконечности

Слайд 14

Для того, чтобы умножить два вещественных числа в нормализованной форме необходимо перемножить

Для того, чтобы умножить два вещественных числа в нормализованной форме необходимо перемножить
их мантиссы, сложить порядки, округлить и нормализовать полученное число.
Соответственно, чтобы произвести деление нужно разделить мантиссу делимого на мантиссу делителя и вычесть из порядка делимого порядок делителя. Затем точно так же округлить мантиссу результата и привести его к нормализованной форме.

Умножение и деление

Имя файла: Представление-вещественных-чисел.-Лекция-2.pptx
Количество просмотров: 46
Количество скачиваний: 0