İkili basamak olarak görüntülenen Quater-hayali tabanı çıkaran bir işlev veya program yazın . Sayı tabanı 2 i'dir , burada i , -1'in kare köküdür. İ hakkında daha fazla bilgi için Karmaşık Numaraya bakınız . Her gerçek ve hayali kısım, bir önceki gerçek ve hayali kısımdan -4 kat daha büyük olduğu için, her basamak konumu 0 ila 3 (kuaterner) arasında olabilir. : İkili olarak kuaterner basamak aşağıdaki gibidir , , ve .0: 00
1: 01
2: 10
3: 11
Rakam konumlarının dökümü:
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)
Sayı 100110000
1x16 + 3x-4 = 16 + -12 = 4'tür.
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)
Sayı 1100.1
3x2 i + 2x-0.5 i = 6 i + - i = 5 i'dir .
Kodunuz, tamsayı veya kayan nokta olabilecek bir çift sayı alır ve karmaşık sayıyı bir ikili basamak dizesi olarak verir. İlk sayı gerçek olacak, ikinci giriş sayısı hayali değer olacaktır. İkili nokta yalnızca 1'in altında sıfır olmayan sayı konumları varsa yazdırılmalıdır (yani -0,5 i , -0,25, 0,125 i vb. Konumlardan herhangi biri sıfırdan farklı bir basamağa sahipse ). Başka bir basamak yoksa, ikili noktadan hemen önce tek bir sıfır basamağı hariç, öndeki ve sondaki sıfırlara izin verilmez. Çıkış bir ikili nokta ile başlamamalıdır (* 00.1
- yanlış, 0.1
- sağ, * .1
- yanlış, * 0.10
- yanlış). Tüm giriş numaralarının sonlu ikili gösterimlere sahip olacağını varsayabilirsiniz.
Test numaraları:
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
Not: .1
Hayali kısım tekse tüm tamsayı değerlerinin çıkışı sona erer .
Standart kod golfü.
0 → 00, 1 → 01, 2 → 10, 3 → 11
.