试题详情
简答题举例说明把int类型转成float类型可能会丢失精度。
  • 如果int型与float型都是4个字节,由于在float型的数据表示中,有若干位用来表示指数,因此,尾数的位数不到4个字节(根据IEEE标准,只有23个二进制位)。如果一个int型的数大于23位(二进制),则无法用float型精确表示。
    例如:
    I.nt x=0x01000001;
    F.loat y=x; //x的最后一位"1"不是被截掉就是被舍入!
    C.out << x << endl << setprecision(30) <<  y << endl;
  • 关注下方微信公众号,在线模考后查看

热门试题