8. Числа с плавающей запятой (IEEE 754) | Программирование микропроцессоров

316 подписчиков

12+
12+

1 просмотр

2 дня назад

ПожаловатьсяНарушение авторских прав

316 подписчиков

12+
12+

1 просмотр

2 дня назад

ПожаловатьсяНарушение авторских прав
12+
12+

1 просмотр

2 дня назад

Курс "Программирование микропроцессоров" специальность 09.03.04 "Программная инженерия", 1 курс. Про подготовку программистов в Институте iSpring здесь: https://ispring.institute/software-engineering В этой лекции мы подробно разбираем, как компьютеры представляют числа с плавающей запятой и почему работа с вещественными числами отличается от работы с целыми типами данных. Начнём с альтернативных способов хранения дробных чисел — fixed-point арифметики и представления через рациональные дроби — и постепенно придём к формату floating point, который используется в современных процессорах. Вы узнаете: почему обычных целочисленных типов недостаточно для представления действительных чисел; как работают fixed-point числа и какие у них преимущества и недостатки; почему представление через числитель и знаменатель редко используется напрямую в вычислительной технике; как научная нотация привела к появлению чисел с плавающей запятой; устройство форматов IEEE 754 (float и double); что такое знак, экспонента, мантисса и скрытая единица; зачем нужны денормализованные числа, NaN, бесконечности и два разных нуля; как числа с плавающей запятой представлены в памяти компьютера; как вручную разобрать битовое представление числа float на составные части; особенности работы с float и double в языке C; правила автоматических преобразований типов в выражениях; использование функций библиотеки math.h; причины ошибок округления и потери точности; что такое machine epsilon и как оценивать точность вычислений; почему операции с floating point не являются ассоциативными; как правильно сравнивать числа с плавающей запятой; почему float и double нельзя использовать для денежных расчётов; особенности использования floating point в embedded-системах и микроконтроллерах; влияние оптимизаций компилятора и флага -ffast-math на производительность и точность вычислений. В лекции показаны многочисленные примеры на языке C, включая разбор битового представления чисел, вычисление геометрических величин, работу с NaN и измерение производительности вычислений с плавающей запятой. Полезные ссылки Слайды и задачи по этому курсу: https://github.com/alexey-malov/mpp Поддержать меня на Boosty: https://boosty.to/vivid-bw Тайм-коды: 0:00 Как хранить дробные числа в компьютере 2:18 Числа с фиксированной точкой 8:21 Представление через дроби (числитель и знаменатель) 10:40 Переход к числам с плавающей запятой 15:25 Стандарт чисел IEEE 754 19:25 Нормализованные и денормализованные числа 23:20 Особые значения (бесконечности и нечисла) 25:43 Числа с плавающей запятой в языке C 28:32 Ввод и вывод чисел с плавающей запятой в языке C 32:32 Автоматическое преобразование типов в выражениях int+float 34:01 Исследуем побайтовое представление типа float 38:38 Программная и аппаратная поддержка floating point 42:18 Особенности floating point арифметики 47:57 Функции библиотеки math.h 53:08 Не-числа (NAN, Not-a-Number) 54:37 Оптимизации и floating point арифметика 1:01:48 Как правильно сравнивать числа с плавающей запятой 1:03:27 Почему float и double не подходят для хранения валюты 1:05:06 Floating point в embedded-разработке 1:06:55 Заключение

Название:

8. Числа с плавающей запятой (IEEE 754) | Программирование микропроцессоров

Категория:

Разное