Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 May 13

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну например в графических адаптерах или в простонородье видюхах используется только фиксированная точка
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
поэтому у меня с этим никогда вопросов не возникало
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
и до сих пор удивляет когда встречаю разработчиков которые реально тупо этого не знают
и не задавались вопросом - а как конкретно вообще процессор что-то считает
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
плавающая точка это по сути логарифмическая шкала
допустим есть у нас диапазон какой то величины
от 0 до 100
и есть 10 делений
мы можем разбить равномерно диапазон на отрезки по 10
а можем логарифмически
увеличивая размер отрезка
в итоге у нас один и тот же диапазон будет разбит по-разному
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну там получится, что чем дальше число от нуля, тем хуже точность
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
вот равномерное разбиение это фиксированная точка
а логарифмическое - плавающая
первое используется когда у нас динамический диапазон величины небольшой
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
ну там получится, что чем дальше число от нуля, тем хуже точность
в случае с плавающей точкой я имел в виду
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а логарифмическое - когда большой и нам нужно разбить в области малых значений помельче, а в области больших - можно больше шаг делать
чтобы мы могли более точно работать с малыми величинами
и с большими
точнее малыми с малыми
и большими с большими
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
при этом если большие с малыми будут терять точность
потому что мы для того чтобы сделать более плотное разбиение для малых чисел расширили разбиение для больших
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
ну там получится, что чем дальше число от нуля, тем хуже точность
нет
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
и кстати из представления числа в памяти вытекают всякие прикольные задачи, например проверка числа на чётность без деления по модулю и операции сравнения
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
точность она одинаковая с числами одного порядка
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
но бит под число меньше
но зато мы можем больший диапазон охватить
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну если мы возьмём какую-нибудь восьмибитную запись числа с плавающей точкой, то вот около нуля мы сможем делить числа на мелкие отрезки ну например 1/16, я не могу сказать точно. а ближе к максимальному значения деления будут типа около 1-2 и мы не сможем получить числа между ними
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
это всё я понимаю
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Кирилл Картвелишвили
ну если мы возьмём какую-нибудь восьмибитную запись числа с плавающей точкой, то вот около нуля мы сможем делить числа на мелкие отрезки ну например 1/16, я не могу сказать точно. а ближе к максимальному значения деления будут типа около 1-2 и мы не сможем получить числа между ними
да, но для величин с большим динамическим диапазоном нам эта точность менее важна
источник