Loss of precision - int -> float or double

后端 未结 9 1540
小蘑菇
小蘑菇 2020-11-27 15:22

I have an exam question I am revising for and the question is for 4 marks.

\"In java we can assign a int to a double or a float\". Will this ever lose

9条回答
  •  眼角桃花
    2020-11-27 16:08

    In Java Integer uses 32 bits to represent its value.

    In Java a FLOAT uses a 23 bit mantissa, so integers greater than 2^23 will have their least significant bits truncated. For example 33554435 (or 0x200003) will be truncated to around 33554432 +/- 4

    In Java a DOUBLE uses a 52 bit mantissa, so will be able to represent a 32bit integer without lost of data.

    See also "Floating Point" on wikipedia

提交回复
热议问题