在 CSDN 改版前夕升至星星了(讨厌新版的样式),小小地庆祝一下。为了给大家技术分,所以要先回答问题(是很简单的题目啦),回答对了才有分哦~~我们都知道在计算机内部 int 和 float 都是采用 32 位二进制来表示的,它们在计算机内部表现形式是一致,也就是说一个 float 类型的数据根据内部的二进制位可以转换成 int 类型,反之亦是。当然了,long 和 double 也有这种关系的。完成以下 float2int、int2float 两个方法来实现这种转换。public class Test {
  public static void main(String[] args) {
    float f = 3.1415F;
    int num = float2int(f);
    float f1 = int2float(num);    
    System.out.println(num); // 输出 1078529622    
    System.out.println(f1); // 输出 3.1415
  }  public static int float2int(float f) {
  
  }
  
  public static float int2float(int num) {  }
}

解决方案 »

  1.   

    不太明白宝宝这个题想考察什么,实际开发中好象不大用
    public static int float2int(float f) {
    return new Float(f).hashCode();
    }

    public static float int2float(int num) {
    return Float.intBitsToFloat(num);
    }
      

  2.   

    恭喜一下~
    floatToIntBits
    intBitsToFloat
      

  3.   

    to: zjf405讨厌,不要叫人家宝宝啦~~实际开发过程中基本上不会用到的,主要目的是在技术区内放点分,给大家添些分,顺便看看大家对类库的了解,你的回答只有第二个方法算通过,第一个还有更简单一点的方法。
      

  4.   

    object的比较是通过
    equals和hashCode,如果重写equals方法,那么hashCode方法也必须要重写,LZ可能要阐述这方面的东西吧。
      

  5.   

    我是说zjf405(°·浪子阿飞·°☆°) 和zephyr_cc() ,没想到回帖回的这么快
      

  6.   

    根据IEEE 754标准转的
    自己写一个也是几分钟的事,繁简不是以代码多少做为标准的,你调用了别人写的一个函数一下搞定了就算简单了?
      

  7.   

    Java 的优势就在于有那么多的类库让你去用,有内置的为什么还要自己再去实现一个呢?再说自己实现的话效率也不会比其内置的高吧。自己实现的话,int 转 float 通过一些位运算还算简单一些(API doc 中可以找到方法),但是 float 转 int 实现起来就没有那么简单了。
      

  8.   

    float 转 int 实现起来就没有那么简单了。//这个也是很容易的
      

  9.   

    static int float2int(float f){//1078529622
    return Float.floatToIntBits(f);
    }
      

  10.   

    GX 下LZ我才只有一个裤衩,哎~!~!1