Java Float floatToRawIntBits()方法及示例
Float类中的 floatToRawIntBits() 方法是java中的一个内置函数,它根据IEEE 754浮点 “单一格式 “位布局返回指定浮点值的表示,并保留非数字(NaN)值。
语法
public static int floatToRawIntBits(float val)
参数: 该方法只接受一个参数val,指定一个浮点数。
返回值: 该函数返回代表浮点数的比特。但是有3种特殊情况。
- 如果参数是正 无穷大 ,结果是 0x7f800000。
- 如果参数是负 无穷大 ,结果是 0xff800000。
- 如果参数是 NaN ,结果是 0x7fc00000。
下面的程序说明了Float.floatToRawIntBits()方法的使用。
程序1 :
// Java program to demonstrate
// Float.floatToRawIntBits() method
import java.lang.*;
class Gfg1 {
public static void main(String args[])
{
float val = 1.5f;
// function call
int answer = Float.floatToRawIntBits(val);
// print
System.out.println(val + " in raw int bits: "
+ answer);
}
}
输出。
1.5 in raw int bits: 1069547520
程序2
// Java program to demonstrate
// Float.floatToRawIntBits() method
import java.lang.*;
class Gfg1 {
public static void main(String args[])
{
float val = Float.POSITIVE_INFINITY;
float val1 = Float.NEGATIVE_INFINITY;
float val2 = Float.NaN;
// function call
int answer = Float.floatToRawIntBits(val);
// print
System.out.println(val + " in raw int bits: "
+ answer);
// function call
answer = Float.floatToRawIntBits(val1);
// print
System.out.println(val1 + " in raw int bits: "
+ answer);
// function call
answer = Float.floatToRawIntBits(val);
// print
System.out.println(val2 + " in raw int bits: "
+ answer);
}
}
输出。
Infinity in raw int bits: 2139095040
-Infinity in raw int bits: -8388608
NaN in raw int bits: 2139095040
参考资料: https://docs.oracle.com/javase/7/docs/api/java/lang/Float.html#floatToRawIntBits(float)