LemonTree  2022-03-15 17:01 采纳率: 50%
浏览 26

float无法表示的最小int值?

计算机组成原理相关问题。
float无法表示的最小int值?
原因?
求解答!

  • 写回答

1条回答 默认 最新

  • Code_流苏 优质创作者: C/C++技术领域 2022-03-15 18:33
    关注

    int为4字节32bits数,里面除最高位表示正负号外,其余的31bits都是有效位。
    float型是一个4字节,但是其结构分为: 符号位 小数部分 指数部分。
    float的具体值由 小数部分 * 10的指数部分得到。只有小数部分才是有效位。
    float中三种部分占位根据编译器有所不同,较多的是符号位+小数部分=24bits,指数部分8bits,也就是float型的有效位小于int的有效位,所以如果int型的数大于2的24次方,则int的有效位不能全部存入转换后的float型的24个有效位中,造成精度丢失。
    简单来说,就是float表示不到int的一些数据范围

    希望对题主有所帮助!可以的话,帮忙点个采纳!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月15日