Скачать презентацию Двоичная арифметика Стандарт IEEE 754 Окладникова С В Скачать презентацию Двоичная арифметика Стандарт IEEE 754 Окладникова С В

Двоичная арифметика_плав_тчк.pptx

  • Количество слайдов: 44

Двоичная арифметика. Стандарт IEEE 754 Окладникова С. В. Двоичная арифметика. Стандарт IEEE 754 Окладникова С. В.

Institute of Electrical and Electronics Engineers – Институт инженеров по электротехнике и электронике Международная Institute of Electrical and Electronics Engineers – Институт инженеров по электротехнике и электронике Международная ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике, электротехнике и аппаратному обеспечению вычислительных систем и сетей Дата основания: 1963 г. Институт радиотехников ( Institute of Radio Engineers, IRE, 1912 г. ) Американский институт инженеров-электриков (American Institute of Electrical Engineers, AIEE, 1884 г. ) Цель: информационная и материальная поддержка специалистов для организации и развития научной деятельности в электротехнике, электронике, компьютерной технике и информатике 400 000 индивидуальных членов из 170 стран Издание 1/3 части мировой технической литературы в области (радиоэлектроники, компьютеров, систем управления, электротехники) Проведение более 300 крупных международных конференций в год Участие в разработке около 900 действующих стандартов

IEEE 754 (IEC 60559) — стандарт, описывающий формат представления чисел с плавающей точкой Использование: IEEE 754 (IEC 60559) — стандарт, описывающий формат представления чисел с плавающей точкой Использование: программные и аппаратные реализации арифметических действий (математических операций) Список стандартов: IEEE 754 -1985; IEEE 754 -1997; IEEE 754 -2008 Стандарт описывает: • формат чисел с плавающей точкой: мантисса, показатель степени, знак числа; • представление положительного и отрицательного нуля, плюс и минус бесконечностей, а также — не числа; • методы, используемые для преобразования числа при выполнении математических операций; • исключительные ситуации: деление на нуль, переполнение, потеря значимости, работа с денормализованными числами и другие; • операции: арифметические и другие

Представление чисел с плавающей точкой Плавающая точка (floating point) - метод представления действительных чисел, Представление чисел с плавающей точкой Плавающая точка (floating point) - метод представления действительных чисел, при котором число хранится в виде мантиссы и показателя степени Форматы чисел: • половинной точности (half precision) (16 бит) • одинарной точности (single precision) (32 бита) • четверной точности (quadruple precision) (128 бит) • расширенной точности (extended precision) (80 бит)

Нормальная и нормализованная формы Нормальной называется форма представления числа, при которой абсолютное значение мантиссы Нормальная и нормализованная формы Нормальной называется форма представления числа, при которой абсолютное значение мантиссы десятичного числа находится на полуинтервале [0, 1) Пример: 1300010 13000*100 = 1300*101 = 130*102 = 13*103 = 1, 3*104 = 0, 13*105

Нормальная и нормализованная формы Нормализованной называется форма представления числа, при которой абсолютное значение мантиссы Нормальная и нормализованная формы Нормализованной называется форма представления числа, при которой абсолютное значение мантиссы десятичного числа находится на полуинтервале [1, 10) Пример: 1300010 13000*100 = 1300*101 = 130*102 = 13*103 = 1, 3*104

Нормальная и нормализованная формы Нормализованной называется форма представления числа, при которой абсолютное значение мантиссы Нормальная и нормализованная формы Нормализованной называется форма представления числа, при которой абсолютное значение мантиссы двоичного числа находится на полуинтервале [1, 2) Пример: 1100112 110011*100 = = 1, 10011*105 В нормализованной форме в мантиссе слева от запятой находится ровно один знак 1 – однозначность записи

Особые значения чисел Представление « 0» со знаком • Число считается нулём, если все Особые значения чисел Представление « 0» со знаком • Число считается нулём, если все его биты, кроме знакового, равны нулю. • В зависимости от значения бита знака ноль может быть как положительным, так и отрицательным. Арифметика « 0»

Особые значения чисел Представление неопределенности (Na. N – not a number) • • Na. Особые значения чисел Представление неопределенности (Na. N – not a number) • • Na. N является результатом арифметических операций, если во время их выполнения произошла ошибка Na. N - число, в котором все двоичные разряды порядка — единицы, а мантисса не нулевая По определению Na. N ≠ Na. N, для проверки значения переменной нужно просто сравнить ее с собой Любая операция с Na. N возвращает Na. N Арифметика Na. N

Особые значения чисел Представление бесконечности • Все двоичные разряды порядка — единицы, а мантисса Особые значения чисел Представление бесконечности • Все двоичные разряды порядка — единицы, а мантисса равна нулю • Знак бесконечности определяется знаковым битом числа • Получить бесконечность можно при переполнении и при делении ненулевого числа на ноль

Денормализованные (субнормальные) числа Представление числа в денормализованном виде - это способ увеличить количество представимых Денормализованные (субнормальные) числа Представление числа в денормализованном виде - это способ увеличить количество представимых числом с плавающей запятой значений около нуля для повышения точности вычислений Каждое значение денормализованного числа меньше самого маленького нормализованного ("обычного") значения числа с плавающей запятой 0, 1 ≤ M < 1

Денормализованные (субнормальные) числа Пример: 137, 75910 = 0, 137759*10+3 Пример: 0, 0013775910 = 0, Денормализованные (субнормальные) числа Пример: 137, 75910 = 0, 137759*10+3 Пример: 0, 0013775910 = 0, 137759*10 -2

Денормализованные (субнормальные) числа Назначение • Обработка очень маленьких значений чисел • Повышение точности обработки Денормализованные (субнормальные) числа Назначение • Обработка очень маленьких значений чисел • Повышение точности обработки чисел (уменьшение погрешностей) Недостатки • Процессорная обработка денормализованных чисел происходит в десятки раз медленнее, чем обработка нормализованных чисел

Формальное представление чисел • S - бит знака, если S=0 - положительное число; S=1 Формальное представление чисел • S - бит знака, если S=0 - положительное число; S=1 - отрицательное число • E - смещенная экспонента двоичного нормализованного числа с плавающей точкой, т. е. (2(b-1) - заданное смещение экспоненты • M - остаток мантиссы двоичного нормализованного числа с плавающей точкой

Формальное представление чисел 32 бита 64 бита Формальное представление чисел 32 бита 64 бита

Представление чисел в разрядной сетке Число половинной точности (Half precision) компьютерный формат представления чисел, Представление чисел в разрядной сетке Число половинной точности (Half precision) компьютерный формат представления чисел, занимающий в памяти половину машинного слова (16 бит) Число д. б. представлено в нормализованном виде Порядок записан со сдвигом 15 Для получения значения порядка нужно вычесть из него сдвиг Сдвиг рассчитывается по формуле 2 b-1 -1 , где b — число бит, отведенное на хранение порядка (b=5).

Представление чисел в разрядной сетке Число половинной точности (Half precision) Ограничения точности Представление чисел в разрядной сетке Число половинной точности (Half precision) Ограничения точности

Представление чисел в разрядной сетке Число одинарной точности (Single precision) компьютерный формат представления чисел, Представление чисел в разрядной сетке Число одинарной точности (Single precision) компьютерный формат представления чисел, занимающий в памяти одно машинное слово (32 бита) Порядок записан со сдвигом 127

Представление чисел в разрядной сетке Число двойной точности (Double precision) компьютерный формат представления чисел, Представление чисел в разрядной сетке Число двойной точности (Double precision) компьютерный формат представления чисел, занимающий в памяти два машинных слова (64 бита) Порядок записан со сдвигом 1023

Представление чисел в разрядной сетке Как будет записано число в формате 128 бит (4 Представление чисел в разрядной сетке Как будет записано число в формате 128 бит (4 машинных слова)

Представление чисел в разрядной сетке Число четвертной точности (Quadruple precision) Порядок сдвига 16383 Представление чисел в разрядной сетке Число четвертной точности (Quadruple precision) Порядок сдвига 16383

Представление чисел в разрядной сетке Как будет записан «± ноль» в представлении Half precision? Представление чисел в разрядной сетке Как будет записан «± ноль» в представлении Half precision?

Представление чисел в разрядной сетке Запись ноля Представление чисел в разрядной сетке Запись ноля

Представление чисел в разрядной сетке Как будет записана Na. N в представлении Half precision? Представление чисел в разрядной сетке Как будет записана Na. N в представлении Half precision?

Представление чисел в разрядной сетке Запись Na. N Представление чисел в разрядной сетке Запись Na. N

Представление чисел в разрядной сетке Как будет записана бесконечность в представлении Half precision? Представление чисел в разрядной сетке Как будет записана бесконечность в представлении Half precision?

Представление чисел в разрядной сетке Запись бесконечности Представление чисел в разрядной сетке Запись бесконечности

Алгоритм записи вещественного числа в памяти ЭВМ • перевести модуль числа в двоичную систему Алгоритм записи вещественного числа в памяти ЭВМ • перевести модуль числа в двоичную систему счисления • нормализовать двоичное число • прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления • учитывая знак заданного числа (0 — положительное; 1 — отрицательное), выписать его представление в памяти ЭВМ

Алгоритм записи вещественного числа в памяти ЭВМ Пример 1: Преобразовать число -312, 312510 для Алгоритм записи вещественного числа в памяти ЭВМ Пример 1: Преобразовать число -312, 312510 для представления его в памяти ЭВМ на примере величины типа Double (двойное слово) 1. Двоичная запись числа -100111000, 0101

Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 1. Двоичная запись числа -312, Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 1. Двоичная запись числа -312, 312510 -100111000, 0101

Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 2. Нормализуем двоичное число 100111000, Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 2. Нормализуем двоичное число 100111000, 0101 = 1, 001110000101*28

Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 3. Определим смещенный порядок Порядок Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 3. Определим смещенный порядок Порядок - 11 разрядов Диапазон от 2 до 1023 Смещение 102310 = 111112 810 + 102310 = 103110 = 100000001112

Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 4. Запишем представление числа в Пример 1: Алгоритм записи вещественного числа в памяти ЭВМ 4. Запишем представление числа в памяти ЭВМ

Алгоритм записи вещественного числа в памяти ЭВМ Пример 2: Определить число, записанное в памяти Алгоритм записи вещественного числа в памяти ЭВМ Пример 2: Определить число, записанное в памяти ЭВМ

Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 1. Определим порядок числа 01111102 Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 1. Определим порядок числа 01111102 = 102210 – 102310 = -110

Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 2. Определим двоичное число 1, Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 2. Определим двоичное число 1, 11000112 *2 -1= 0, 111000112

Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 3. Переведем двоичное число в Пример 2: Алгоритм записи вещественного числа в памяти ЭВМ 3. Переведем двоичное число в десятичную систему счисления 0, 111000112 = 0, 8867187510 4. Число - положительное

Особенности округления чисел с плавающей запятой 1. Правило округления «до четного» исходное 33 47 Особенности округления чисел с плавающей запятой 1. Правило округления «до четного» исходное 33 47 35 округленное 32 48 36

Особенности округления чисел с плавающей запятой 2. Правило округления «к ближайшему целому» исходное 1, Особенности округления чисел с плавающей запятой 2. Правило округления «к ближайшему целому» исходное 1, 33 1, 35 1, 37 округленное 1 2 2

Особенности округления чисел с плавающей запятой 3. Правило округления «к нулю» исходное 1, 33 Особенности округления чисел с плавающей запятой 3. Правило округления «к нулю» исходное 1, 33 1, 35 1, 37 округленное 1, 3

Особенности округления чисел с плавающей запятой 4. Правило округления «к +∞ » исходное округленное Особенности округления чисел с плавающей запятой 4. Правило округления «к +∞ » исходное округленное 1, 33 1, 35 1, 37 1, 4

Особенности округления чисел с плавающей запятой 5. Правило округления «к -∞» исходное округленное 1, Особенности округления чисел с плавающей запятой 5. Правило округления «к -∞» исходное округленное 1, 33 1, 35 1, 37 1, 3

Особенности двоичной арифметики 1. Не ассоциативность арифметических операций (a·b) ·c ≠ a· (b·c) Особенности двоичной арифметики 1. Не ассоциативность арифметических операций (a·b) ·c ≠ a· (b·c)

Особенности числовых констант 2. Не все десятичные числа имеют двоичное представление с плавающей запятой Особенности числовых констант 2. Не все десятичные числа имеют двоичное представление с плавающей запятой « 0, 2» - « 0, 200000003» в одинарной точности