LINUX.ORG.RU

История изменений

Исправление LamerOk, (текущая версия) :

мы ничего не считали, не округляли,

Алё, гараж! Мы сделали это ДВАЖДЫ. И то, и другое. Один раз когда конвертировали строку «0.1» в двоичное представление, а второй - когда выводили двоичное представление в виде строки десятичных цифр выражающих десятичную дробь.

Почему наш ALU не занулил их ведь мы просто расширяем разрядность?

Потому что у тебя (и у меня) двоичный ALU, и там вообще нет никаких «десятичных нулей». Тебе выше уже правильно ответили - 1/10 преобразованная в дробь по основанию 2 превращается в бесконечную периодическую дробь. Абсолютно не важно, сколько разрядов ты в эту дробь впихнёшь. Дробь как была так и останется бесконечной и периодической, а значит в какой-то момент, её придётся округлить в какую-то из сторон с ошибкой.

Вы не думаете головой, даже не пытаетесь.

Кто б говорил.

Исходная версия LamerOk, :

мы ничего не считали, не округляли,

Алё, гараж! Мы сделали это ДВАЖДЫ. И то, и другое. Один раз когда конвертировали строку «0.1» в двоичное представление, а второй - когда выводили двоичное представление в виде строки десятичных цифр выражающих десятичную дробь.

Почему наш ALU не занулил их ведь мы просто расширяем разрядность?

Потому что у тебя (и у меня) двоичный ALU, и там вообще нет никаких «нулей». Тебе выше уже правильно ответили - 1/10 преобразованная в дробь по основанию 2 превращается в бесконечную периодическую дробь. Абсолютно не важно, сколько разрядов ты в эту дробь впихнёшь. Дробь как была так и останется бесконечной и периодической, а значит в какой-то момент, её придётся округлить в какую-то из сторон с ошибкой.

Вы не думаете головой, даже не пытаетесь.

Кто б говорил.