1. Как вы думаете, какие дробные числа могут быть точно представлены в памяти компьютера в двоичном коде?
В памяти компьютера в двоичном коде могут быть точно представлены только те дробные числа, которые можно записать в виде конечной дроби в двоичной системе счисления. Такие числа имеют вид a / (2^b), где a и b — целые числа. Например, числа 0.5 (1/2), 0.25 (1/4) или 0.75 (3/4) могут быть точно представлены, но числа, такие как 0.1, не могут, так как они имеют бесконечное непериодическое представление в двоичной системе.
2. Почему всегда рекомендуется выполнять вычисления, используя только операции с целыми числами (если есть такая возможность)?
Использование целых чисел в вычислениях всегда предпочтительнее, поскольку операции с целыми числами выполняются быстрее, занимают меньше памяти и не приводят к ошибкам округления. Целые числа сохраняются точно, в отличие от чисел с плавающей запятой, которые могут терять точность из-за ограниченной длины представления.
3. Как можно работать с дробными числами, не теряя точности? В чём недостатки такого подхода?
Чтобы работать с дробными числами без потери точности, их можно представлять в виде пары целых чисел — числителя и знаменателя (например, 1/3 как (1, 3)) и выполнять операции над ними как над дробями. Такой подход сохраняет точность, но его недостатками являются увеличение объёма вычислений, необходимость реализации операций с дробями (сложение, умножение, сокращение) и сложность работы с большими числами, которые могут превышать пределы памяти.
4. Сравните преимущества и недостатки использования двоичной системы счисления с точки зрения человека и с точки зрения компьютера.
С точки зрения человека, использование двоичной системы счисления является сложным из-за её неудобочитаемости и необходимости перевода в более привычные системы, такие как десятичная. Однако для компьютера двоичная система идеально подходит, так как цифровая электроника основывается на двух состояниях (0 и 1), что упрощает архитектуру вычислений и минимизирует ошибки. Основное преимущество для компьютера заключается в простоте реализации аппаратного обеспечения и высокой скорости операций. Однако для человека недостатком является сложность интерпретации и необходимости дополнительных преобразований для понимания данных.