long型数据和double型数据类型能相乘吗?结果是什么?

数组long A[100],存的30000-40000的long型整数,数组doubloe H[100],存的是0.0000012,0.0000011....类似这样的浮点型数,他们相乘的结果是double的吗?比如我元素H[0],以%f显示就是0.0000011, 但是以%d显示就是3126,假如A[0]=30000,A[0]*H[1],结果%LD显示,我希望是0.33,而不是9千万
我用的是WIN-TC

结果是double型的,因为低精度和高精度相乘结果是高精度的。想解决你的问题要了解数据类型和数据类型转换,所有的数据在计算机中都是2进制的01字符串,只是按不同的方式结合。8个0或1结合叫一个字节,2个字节结合叫int,4个叫long,8个叫,float,double。所以按不同的结合方式,当然结果就不一样了。那个%d,%f,就是说按照不同的方式结合。既然你希望结果是0.33,就按照8个字节一结合,%f,那样结果就是0.33了。数据类型会了,再考虑进制。然后再考虑编程。就是这样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-12
是double 型
之所以显示不出你想要答案,是因为输出类型比实际类型小,而计算机是用反码存储数据,恐怕无法达到你的预期。
第2个回答  2009-06-16
是double 型
第3个回答  2018-07-11
你哪个编译器 float8个字节呀 这么牛?那float和double的区别是什么?
第4个回答  2009-06-08
结果应该是高精度类型
相似回答