计算机组成原理相关问题。
float无法表示的最小int值?
原因?
求解答!
int为4字节32bits数,里面除最高位表示正负号外,其余的31bits都是有效位。
float型是一个4字节,但是其结构分为: 符号位 小数部分 指数部分。
float的具体值由 小数部分 * 10的指数部分得到。只有小数部分才是有效位。
float中三种部分占位根据编译器有所不同,较多的是符号位+小数部分=24bits,指数部分8bits,也就是float型的有效位小于int的有效位,所以如果int型的数大于2的24次方,则int的有效位不能全部存入转换后的float型的24个有效位中,造成精度丢失。
简单来说,就是float表示不到int的一些数据范围
希望对题主有所帮助!可以的话,帮忙点个采纳!