Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/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
Java 在Scala中将浮点用作Int(无转换)_Java_Scala_Type Conversion - Fatal编程技术网

Java 在Scala中将浮点用作Int(无转换)

Java 在Scala中将浮点用作Int(无转换),java,scala,type-conversion,Java,Scala,Type Conversion,我正在尝试在Scala中实现一个快速平方根逆算法。该算法涉及利用32位浮点数的二进制表示,将按位和整数运算应用于其二进制表示,就像它是一个Int。换句话说,我必须从浮点的二进制表示中创建一个Int,而不仅仅是使用cast运算符 我记得不久前在Java中做过类似的事情,我相信这是使用Integer的一些静态方法完成的。不过,我是Scala新手,似乎找不到这样的方法。在Scala中如何做到这一点?您可以在Scala中使用任何java方法。如果你还记得那个方法是什么,请把它贴回这里。。。我真的很好奇。

我正在尝试在Scala中实现一个快速平方根逆算法。该算法涉及利用32位浮点数的二进制表示,将按位和整数运算应用于其二进制表示,就像它是一个Int。换句话说,我必须从浮点的二进制表示中创建一个Int,而不仅仅是使用cast运算符


我记得不久前在Java中做过类似的事情,我相信这是使用Integer的一些静态方法完成的。不过,我是Scala新手,似乎找不到这样的方法。在Scala中如何做到这一点?

您可以在Scala中使用任何java方法。如果你还记得那个方法是什么,请把它贴回这里。。。我真的很好奇。可能是
java.lang.Float.floatToIntBits(yourFloat)
它工作得很好。我知道Scala有Java集成,但我没有想到Scala会从它自己的类型(即Float=>Float)执行隐式类型转换成适当的Java原语。是的,这就是我最初使用的方法。@user74300因为您似乎对性能感兴趣,请注意,在运行时没有分配Scala
Float
实例。Scala的
Float
扩展了
AnyVal
(与
AnyRef
)这是一种简洁、面向对象的方法,可以向语言添加非引用类型。另请参见on value类。@KuluLimpa通常不分配它,但有时仍有装箱