Как хранится и манипулируется значение с типом float? [закрыт]

1,00
р.



Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.





Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 3 года назад.



Улучшить вопрос

Сегодня я попытался устроиться на свою первую работу в качестве Python программиста.
Работодатель сам неожиданно позвонил мне и стал тестировать на знание языка по телефону.
Он задал несколько простых вопросов, таких как "чем отличается list от set, и все в таком духе", но затем...
Он спросил меня как в действительности работает тип данных float в Python. Я уточнил, и он ответил что имеет в виду не то что возвращает встроеный метод float() но как именно хранится и манипулируется значение с типом float "под капотом" в Python.
Я не смог ответить на этот вопрос, т. к. Никогда не сталкивался с этим ни в практике ни в теории, после чего мою кандидатуру сразу отклонили.
Чтобы быть более точным и передать приблизительный уровень знаний - я программирую на Java и Python практически каждый день, понимаю основы, ООП, некоторые паттерны.
Есть опыт в несколько проектов кроссплатформенной разработки на Python/Kivy с использованием интернет синхронизации приложений на Android, API Pusher, OpenCV, так что наверное, я не самый зеленый новичок. По крайней мере мне так кажется.
Собственно мой вопрос после этого неудачного опыта - это я пропустил какие-то основы языка, или что-то важное, или это работодатель спросил слишком сложный вопрос для вакансии Junior Python?

Ответ
Краткий ответ: Числа с плавающей точкой
Очень интересный и спорный вопрос был вам задан.
Знание ответа на него подразумевает одно из двух:
Вы проходили в университете типы данных и просто запомнили Вы сталкивались с ограничением точности float/double, к примеру при численном моделировании.
Практическая польза от этих знаний:
понимание что не каждое число может быть представлено вещественным типом данных Арифметические операции между большим и маленькими числами могут не работать как в математике:
float a = 1e-10 float b = 1e20 float c = a + b cout << c == b <br>Выведет true.