Napisz funkcję lub program, który wyprowadza czwartoimienną bazę wyświetlaną jako cyfry binarne. Podstawa liczbowa to 2 i , gdzie i jest pierwiastkiem kwadratowym z -1. Zobacz liczby zespolonej więcej szczegółów dotyczących I . Każda pozycja cyfr może wynosić od 0 do 3 (czwartorzędowa), ponieważ każda część rzeczywista i urojona jest -4 razy większa niż poprzednia część rzeczywista i urojona. Liczby czwartorzędowe w postaci binarnej są następujące:0: 00
, 1: 01
, 2: 10
i 3: 11
.
Podział pozycji cyfr:
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)
Numer 100110000
to 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)
Liczba 1100.1
to 3x2 i + 2x-0,5 i = 6 i + - i = 5 i .
Twój kod pobierze parę liczb, które mogą być liczbami całkowitymi lub zmiennoprzecinkowymi, i wyświetli liczbę zespoloną jako ciąg cyfr binarnych. Pierwsza liczba będzie prawdziwa, druga liczba wejściowa będzie wartością urojoną. Punkt binarny musi być wydrukowany tylko wtedy, gdy liczba pozycji niezerowych jest mniejsza niż 1 (tj. Jeśli dowolna z pozycji dla -0,5 i , -0,25, 0,125 i itd. Ma niezerową cyfrę). Zera wiodące i końcowe są niedozwolone, z wyjątkiem pojedynczej cyfry zero bezpośrednio przed punktem binarnym, jeśli nie ma innych cyfr. Dane wyjściowe nie mogą zaczynać się od punktu binarnego (* 00.1
- źle, 0.1
- dobrze, * .1
- źle, * 0.10
- źle). Możesz założyć, że wszystkie liczby wejściowe będą miały skończone reprezentacje binarne.
Numery testowe:
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
Uwaga: Dane wyjściowe wszystkich wartości całkowitych zakończą się, .1
jeśli część urojona jest nieparzysta.
Standardowy golf.
0 → 00, 1 → 01, 2 → 10, 3 → 11
.