Как правило, значение дроби МОЖЕТ быть представлено в двоичном виде, используя вид «двоичной точки» (аналог десятичной точки). Фактически, именно так на компьютерах представляются действительные / двойные числа (хотя обычно хранится двоичная точка, а не «точка»). Но помните: не все десятичные дроби могут быть представлены точно в двоичной форме - тогда необходимо применить некоторое округление, особенно если можно использовать только ограниченное количество битов (что всегда верно в реальном мире информатики).
К сожалению, Windows-калькулятор в режиме программиста работает только с целочисленными значениями. Обходной путь для достижения вашей цели:
В стандартном режиме введите десятичное число (может быть дробным) для преобразования, например 0.21
Умножить его на 2 (ключей: * 2 =)
Повторяйте шаг 2 (нажимая =одну клавишу, снова и снова), пока не получите число, которое является целым числом - или очень близко к целому числу (см. Примечание ниже).
ВАЖНЫЙ! Помните, сколько раз вы умножили начальное значение на 2 (на шаге 2 и повторили 3).
Переключитесь в режим программиста и введите значение, полученное после шага 3, с округлением до целого числа (к сожалению, это не происходит автоматически при переключении режима, по крайней мере, в приложении калькулятора Windows 10).
Двоичное представление целого числа показано. Представьте себе, двоичная точка находится справа (после последней двоичной цифры). Затем переместите его влево на столько позиций, сколько умножили в шагах 2 и 3. Добавьте начальные 0 по мере необходимости.
Пример:
- Исходное значение:
0.21
- Умножьте это на 2 десять раз - вы получите
215,04
. Предполагая, что оно достаточно близко к целочисленному значению (это произвольное решение!), Вы получите округленное целое число215
- Вход
215
в режим программиста показывает его двоичное представление:11010111
- Перемещение бинарной точки на 10 мест влево дает:
.0011010111
Примечание. Как я упоминал ранее, не все значения десятичной дроби могут быть представлены точно в двоичной форме, поэтому иногда вы должны решить, какая точность (приближение) удовлетворяет вашим потребностям. В приведенном выше примере я предположил, что округление с 215,04 до 215 является сравнительно небольшой «ошибкой» (ниже 1/5000), поэтому для представления исходного числа достаточно 10 битов. Если бы мне требовалась большая точность, я бы умножил на 2 не десять, а, может быть, двадцать раз (результат: 220200,96
округляется до 220201
целого числа) и получил бы 20- .00110101110000101001
битное двоичное представление (с «ошибкой» ниже 1/5000000).
Кстати, обычно количество битов, используемых для представления данных в компьютерах, составляет 2–8, 16, 32, 64, иногда 48 и т. Д. В таком случае вы можете просто использовать более быстрый метод «умножения на 2» в калькуляторе, предложенный от вас в комментарии ниже ( *(2^n)
).