关于各个类型的变量运算

来源:百度知道 编辑:UC知道 时间:2024/06/10 01:42:51
a*b+b-0.01
其中a是一个整形的数,b是一个double型的数。能分析一下每一步运算后变量变为什么类型了吗?

计算过程中内存中a本身并不变,但是计算时a的值会扩展为double参与计算,b是计算中最宽的类型,所以整个计算会全以double进行并将结果以double方式保存在寄存器中,若赋值的话,会根据被赋值的对象再进行裁剪(类型强转)。

从第一步之后就全是double了