float类型和long类型那个取值范围更大。

用实验说话:

 原因:他们的底层存储结构不同

float类型在计算机中用4个字节32位存储,

1位代表的是符号位,8位阶码,23位尾码,

其中8位阶码代表指数位,八位最小是0000 0000 ,最大是1111 1111 ,范围也就是0~255IEEE754规范:0代表0,255代表无穷大,剩下的就是1-254,其中阶码要减去移码127(移码1111 111),指数范围范围就变成了-126-127。

long类型在计算机中用8个字节64位存储,指数范围范围也就是0-63, 

从而得出结论:long的取值范围比float小

其实从实验的转换就可以看出来,范围大的变量需要强制转换小范围的变量才能赋值,而小范围的变量赋值给大范围的变量时,直接是自动转换。

猜你喜欢

转载自blog.csdn.net/Da_Bao_zi/article/details/120829046