2進数として表示されるクォーター虚数ベースを出力する関数またはプログラムを作成します。基数は2 iで、iは-1の平方根です。iの詳細については、複素数を参照してください。各実数部と虚数部は前の実数部と虚数部の-4倍であるため、各桁の位置は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です。
コードは、整数または浮動小数点の数値のペアを受け取り、複素数を2進数の文字列として出力します。最初の数は実数で、2番目の入力数は虚数です。1以下の非ゼロ数位置がある場合、バイナリポイントのみ(すなわち用-0.5位置のいずれかの印刷されなければならないI 0.125、-0.25、iは等、非ゼロの桁を有します)。先行ゼロと後続ゼロは許可されません。ただし、他の数字がない場合は、2進小数点の直前の単一のゼロ桁を除きます。出力は、2進小数点(* 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
ます。