你认为其它编译器的结果是否如此?相关知识点: 试题来源: 解析 答:和上题⼀样,编译和运⾏程序都没有问题。但是控制台显⽰⼀⾏警告信息,提醒可能丢失数据。 警告1 warning C4244: “=”: 从“double”转换到“float”,可能丢失数据反馈 收藏
Enter a float value:1.234Incorrect usage: You entered:-369098.750000Enter a float value:1.234Correct usage: You entered:1.234000 可以看到第一次用 lf 来输入时,其并没有把 1.234 赋值给变量,输出变量的值是 -369098.750000。两者毫无关系 其实编译器是有警告的:format specifies type 'double *' but the a...
我们知道Java在变量赋值的时候,其中float、double、long数据类型变量,需要在赋值直接量后面分别添加f或F、d或D、l或L尾缀来说明。 其中,long类型最好以大写L来添加尾缀,因为小写l容易和数字1混淆。 例如: longlNum = 1234L;floatfNum = 1.23f;doubledNum = 1.23d; 这是Java语法规定,不添加尾缀很容易引起编译...
java将一个double型数据直接赋值给float型变量时,编译器会发出警告提示,因为double类型的数据精度更高,将其转换为float类型可能会丢失精度,导致结果不准确。
编译不会出错,但是如果double变量的精度超出了float的范围,或者double变量的值超过了float的最大值,变量值会改变,最好不好这么做
百度试题 题目可以将一个double类型的值赋值给float类型的变量 A.正确B.错误相关知识点: 试题来源: 解析 B 反馈 收藏
float,double,赋值时候为什么要加f,d.例如:double a=0.1d;float 后面带的小写字母是用于区别数据类型。float(单精度浮点型)float类型通常32位,取值范围是10-38~10+38Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -
是的,默认是double类型,加了f之后是float
float为单精度浮点类型,占4个字节,能表示的数范围小;double为双精度浮点类型,占8个字节,能表示的数范围大。对于赋值来说,因为声明浮点数时默认为double类型,所以float需要在数的的后面添加f/F;例:float a=1.2 //错误 float a=1.2f //正确 float a=1.2F //正确 double b=1.2...
解析 答案A题目:。浮点数的赋值是带有小数点的数字缺省是 double 型的,如果在浮点数后面加 f 或者 F 则是float,后面加 d 或者 D 则是 double,科学计数法形式的浮点数也是double型的,而 double 的精度比 float 高,将一个高精度的 double 赋值给一个低精度的 float 时需要进行强制类型转换,反之则不需要。