有网友碰到这样的问题“double类型与double类型做加法的结果?”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是2.0。
因为3和2都是整数类型的,所以认为3/2的结果也是整数类型的,舍弃后面的尾数,仅留下整数位的1。而为x和y为double类型,是双精度浮点型。双精度浮点型和整数类型做加法,精度取双精度浮点型,所以,y=x+3/2=1.0+1=2.0。
双精度型性质:
双精度型占8 个字节(位)内存空间,其数值范围为-1.79769313486232E308 到1.79769313486232E308。
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
解决方案2:
当int类型、float类型、double类型变量做加减运算时,其结果的类型取决于操作数的类型和运算符。
如果操作数中有一个是double类型,则运算结果也将是double类型。如果操作数中有一个是float类型,而另一个是double类型,则运算念掘结果将是double类型。歼高肢如果操作数中没有double类型的变量,则运算结果将是float类型或int类型,具体取决于操作数的类型。
对于加法运算,如果操作数中有一个是float类型,而另一个是int类型,则运算结果将是float类型。如果两个操作数都是int类型,则运算结果将是int类型。
对于减法运算,如果操作数中有一个是float类型或double类型,则运算结果将是float类型或double类型。如果两个操作数都是int类氏世型,则运算结果将是int类型。
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务