Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Scala中将十进制分数转换为二进制分数_Scala_Floating Point - Fatal编程技术网

在Scala中将十进制分数转换为二进制分数

在Scala中将十进制分数转换为二进制分数,scala,floating-point,Scala,Floating Point,我有一个介于1和2之间的十进制数字序列。在获取它们的倒数之后,我希望将数字转换为二进制形式,这样我就可以分离出倒数的10个MSB。 我不想将其转换为IEEE-754浮点表示,而只是转换为二进制格式 reciprocal = 1.0/3.0 Double = 0.3333333333333333 上述手动转换为二进制的数字将为我提供无限位流: reciprocalBits = 0.0101010101010101010101010101010101010101010101010101...

我有一个介于1和2之间的十进制数字序列。在获取它们的倒数之后,我希望将数字转换为二进制形式,这样我就可以分离出倒数的10个MSB。 我不想将其转换为IEEE-754浮点表示,而只是转换为二进制格式

reciprocal = 1.0/3.0
Double = 0.3333333333333333 
上述手动转换为二进制的数字将为我提供无限位流:

reciprocalBits = 0.0101010101010101010101010101010101010101010101010101...
我想要上述二进制数的10个最高有效位。 如何在Scala中将
interactive
转换为
reciprocarbits

的Java代码在这里可能很有用,但可能有人知道一些更好的东西。
scala> val reciprocal = 1.0/3.0
reciprocal: Double = 0.3333333333333333

scala> List.tabulate(10)(x => ((reciprocal * math.pow(2,x)).toInt % 2))
res0: List[Int] = List(0, 0, 1, 0, 1, 0, 1, 0, 1, 0)