我读到在 Java 中 long 类型可以提升为 float 和 double ( http://www.javatpoint.com/method-overloading-in-java )。我想问一下在JAVA中long integer占用8个字节内存而float占用4个字节那么这个提升是如何工作的?如果我们以这种方式推广,我们是否有可能面临一些数据丢失?
另外值得注意的是,所有其他类型的提升都是从较小的原始数据类型到类似或较大的数据类型。
- byte 到 short、int、long、float 或 double
- short 到 int、long、float 或 double
- char 到 int、long、float 或 double
- int 到 long、float 或 double
- long to float or double _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
- float 到两倍
最佳答案
long
使用更多的字节,但它的范围更小:虽然 long
不能超过 263,float
可以转到大约 2127。显然,范围的扩大是以降低精度为代价的,但是由于float
的范围更大,所以从long
到float
的转换是促销 Activity 。
关于java - Long 的大小为 8 字节,那么在 JAVA 中如何将 'promoted' 转换为 float (4 字节)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31495742/