Ответы пользователя по тегу Python
  • Столкнулся с непонятным - откуда лишние 00000002?

    @danila_belyy
    Поступил в ВУЗ, хочу понять суть программирования.
    В Python тип данных float реализован по стандарту IEEE-754 как число с плавающей точкой двойной точности (64 бита) с основанием экспоненты равным 2. Реализация таких чисел заложена прямо в железо любого современного процессора. Поэтому float в Python работает как аналогичный тип данных double в таких языках программирования как С#, С++, Java и т.д. И имеет такие же ограничения и «странности». Так как float поддерживается аппаратно, быстродействие при использовании этого типа данных сравнительно велико.

    Тип данных Decimal – число с плавающей точкой с основанием экспоненты 10. Он реализован по стандарту IBM: General Decimal Arithmetic Specification, в свою очередь основанному на стандартах IEEE.

    Тип данных Decimal реализован программно, поэтому он в разы медленнее типа данных float, реализованного аппаратно. Сам тип данных Decimal написан на языке С.

    Тип данных Decimal оперирует числами с произвольной – задаваемой программистом, но конечной точностью. По умолчанию точность составляет 28 десятичных знаков.

    Если кратко: хочешь скорость - float! Если хочешь точность - decimal
    Ответ написан
    Комментировать