编写一个函数或程序,输出显示为二进制数字的Quater-虚数基数。基数为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
是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。
您的代码将使用一对数字,可以是整数或浮点数,并将复数输出为一串二进制数字。第一个数字为实数,第二个输入数字为虚数。仅当存在低于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
如果虚部为奇数,则所有整数值的输出将以in结尾。
标准代码高尔夫球。
0 → 00, 1 → 01, 2 → 10, 3 → 11
。