Напишите функцию или программу, которая выводит четверть-мнимое основание, отображаемое в виде двоичных цифр. Числовое основание равно 2 i , где i - квадратный корень из -1. См. Комплексный номер для более подробной информации о i . Каждая позиция цифры может изменяться от 0 до 3 (четвертичная), поскольку каждая действительная и мнимая части в -4 раза больше предыдущей действительной и мнимой части. Четвертичные цифры в двоичной системе следующим образом : 0: 00
, 1: 01
, 2: 10
и 3: 11
.
Разбивка позиций цифр:
re im 16 -8i -4 2i 1 -0.5i, etc.
4 0 1 0 3 0 0 (quaternary representation)
01 00 11 00 00 (binary representation)
Число 100110000
1x16 + 3x-4 = 16 + -12 = 4.
re im 16 -8i -4 2i 1 -0.5i, etc.
0 5 0 0 0 3 0 2 (quaternary representation)
00 00 00 11 00 .10 (binary representation)
Число 1100.1
3x2 i + 2x-0.5 i = 6 i + - i = 5 i .
Ваш код примет пару чисел, которые могут быть целыми числами или числами с плавающей запятой, и выведет комплексное число в виде строки двоичных цифр. Первое число будет действительным, второе введенное число будет мнимым значением. Двоичная точка должна быть напечатана, только если позиции с ненулевым числом меньше 1 (т. Е. Если любая из позиций для -0,5 i , -0,25, 0,125 i и т. Д. Имеет ненулевую цифру). Начальные и конечные нули не допускаются, за исключением одной нулевой цифры непосредственно перед двоичной точкой, если нет других цифр. Выход не должен начинаться с двоичной точки (* 00.1
- неправильно, 0.1
- правильно, * .1
- неправильно, * 0.10
- неправильно). Вы можете предположить, что все входные числа будут иметь конечные двоичные представления.
Тестовые номера:
re im output
0 0 0
1 0 1
2 0 10
3 0 11
4 0 100110000
-1 0 10011
-2 0 10010
-3 0 10001
0 1 100.1
0 2 100
0 3 1000.1
0 4 1000
0 -1 0.1
0 -2 1001100
0 -3 1001100.1
3 4 1011
4 3 100111000.1
6 -9 101110010.1
-6 9 10011100110.1
-9 -6 1110111
0.5 14.125 10011001101.001001
Примечание. Вывод всех целочисленных значений закончится, .1
если мнимая часть будет нечетной.
Стандартный код-гольф.
0 → 00, 1 → 01, 2 → 10, 3 → 11
.