Как хранится и манипулируется значение с типом 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.