1

javaの型昇格規則では、長いデータをfloatデータ型にキャストできることが定義されています。どのようにそれは可能ですか?

例えば ​​:

 class casting{

    void show(float a){
   System.out.println("float");
   }


 public static void main(String args[]){
   casting obj = new casting();
  obj.show(10l);
  }

}

しかし、ここでの出力はflaotです。8バイトの長いデータはどのようにfloatデータ(4バイト)に変換されますか?

4

1 に答える 1

0

私はあなたのプログラムを次のように修正しました。long は 64 ビットの符号付きデータ型で、最大値は 9223372036854775807l です。これを float に変換すると、9.223372E18 として出力されます。float は 32 ビットの単精度データ型です。お役に立てれば

public class casting {

    void show(float a) {
        System.out.println("float is " + a);
    }

    public static void main(String args[]) {
        casting obj = new casting();
        obj.show(9223372036854775807l);
    }

}
于 2013-03-11T06:27:40.813 に答える