Écrivez une fonction ou un programme qui produit une base imaginaire Quater affichée sous forme de chiffres binaires. La base numérique est 2 i , où i est la racine carrée de -1. Voir Numéro complexe pour plus de détails sur i . Chaque position de chiffre peut aller de 0 à 3 (quaternaire), car chaque partie réelle et imaginaire est -4 fois plus grande que la partie réelle et imaginaire précédente. Les chiffres quaternaires en binaire sont les suivants: 0: 00
, 1: 01
, 2: 10
et 3: 11
.
Répartition des positions numériques:
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)
Le nombre 100110000
est 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)
Le nombre 1100.1
est 3x2 i + 2x-0,5 i = 6 i + - i = 5 i .
Votre code prendra une paire de nombres, qui pourrait être un entier ou une virgule flottante, et affichera le nombre complexe sous la forme d'une chaîne de chiffres binaires. Le premier nombre sera réel, le deuxième nombre entré sera la valeur imaginaire. Un point binaire ne doit être imprimé que si le nombre de positions non nulles est inférieur à 1 (c'est-à-dire si l'une des positions pour -0,5 i , -0,25, 0,125 i , etc. a un chiffre différent de zéro). Les zéros de tête et de fin ne sont pas autorisés, sauf pour un seul chiffre zéro immédiatement avant le point binaire s'il n'y a pas d'autres chiffres. La sortie ne doit pas commencer par un point binaire (* 00.1
- faux, 0.1
- droit, * .1
- faux, * 0.10
- faux). Vous pouvez supposer que tous les nombres entrés auront des représentations binaires finies.
Numéros de test:
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
Remarque: La sortie de toutes les valeurs entières se terminera .1
si la partie imaginaire est impaire.
Code-golf standard.
0 → 00, 1 → 01, 2 → 10, 3 → 11
.