Напишіть функцію або програму, яка виводить четверто-уявну базу, відображається у вигляді двійкових цифр. База чисел дорівнює 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
1х16 + 3х-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
.