> из-за особенностей представления дробных чисел в двоичной системе
В любой системе исчисления в конечном виде можно представить только те дроби, знаменатель которых состоит из простых множителей, входящих в разложение на множители основания системы исчисления. Т.е., например пятые доли, конечные в десятичной системе в двоичной -- бесконечные.
> спасибо за разъяснение
отметьте ответ как решение (:
Вы невнимательны. Во-первых в моём ответе нет никакой второй скобки. Проблема в умножении точного значения 100.0 на приближенное 0.2. Во вторых, 20.0dec = 10100.0bin
Это зависит от того, что именно сломалось и что есть в вашем распоряжении. Может быть вы приведёте какие-нибудь логи/сообщения/словесное описание, более подробное чем "появляется черный экран с кучей ошибок"?
> Читает лишь значение inode, никак не содержимое в памяти @vvpoloskin прости, что?
Cимвольная ссылка -- это путь к файлу, readlink этот путь читает. Чем это не "прочитать ссылку"?
> можно сравнить результат конструктора с нулем? М.б. если есть конструктор с int, то в C++ такое возможно @DancingOnWater это один из вариантов. Ещё один -- если есть оператор == (const stat&, int). Ещё один -- если у stat есть оператор приведения типа к int.
> Гугл говорит что в C нельзя перегружать операторы в структурах
...но в С имя функции вполне может совпадать с именем тега структуры -- это два разных пространства имён.
В любой системе исчисления в конечном виде можно представить только те дроби, знаменатель которых состоит из простых множителей, входящих в разложение на множители основания системы исчисления. Т.е., например пятые доли, конечные в десятичной системе в двоичной -- бесконечные.
> спасибо за разъяснение
отметьте ответ как решение (: