![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
若已定义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 个字节(64位)内存空间,其数值范围为-1.79769313486232E308 到1.79769313486232E308。
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是2.5。选D。double、float都是浮点型。double(双bai精度型)比float(单精度型)存的数据更准确些,占的空间也更大。所以选D。在32 位的系统上,short 占据的内存大小是2 个byte;int占据的内存大小是4 个byte。
扩展资料:
double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。
它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。
但3/2=1,除非是3.0/2或者(double)3/2都=1.5,
所以结果为2.0
这种题型要自己上级多实践才能发现其中的奥妙,才能有很深的体会。。。。