java中为什么float类型的存储空间比int类型的大?

int类型的数据在转换成float类型时为什么会后有精度损失?
2025-01-20 11:59:50
推荐回答(2个)
回答1:

int是精确的,超出范围就溢出了。数据错误了。

二float并不是单纯的101010这样存储,是把4个字节划分为
符号位,指数位,尾数位

3个部分固定的,因为有指数,存储的范围当然比int大了。
但是3个部分也有范围限制,所以当你精度值越大时,月不精确了。

回答2:

#include int main() { int n=0; int *Intnumber=new int[n]; long *Floatnumber=new long[n]; while(n<100) { char ch; cout<<"input a character:"; cin>>ch; Intnumber[n++]=ch; float fnum; cout<<"input a float number:"; cin>>fnum; Floatnumber[n++]=fnum; } cout<<"字符数组的地址"<