可以使float a=0.1f转化为1吗 百度知道,float转换成int怎么算

文章 2年前 (2021) admin
0

Q1:C语言 float a=1.1f 输出a值显示是0.11e10 还是0.111111e10

不会成为 0.11e10 , 也不会成为 0.111111e10 float a=1.1f;printf("%g\n", a );输出 1.1 如果用默认 %f %e 格式输出:printf("%e %f\n", a,a );输出 1.100000e+000 1.100000

Q2:float a=1.0f 这里的1.0f中的“f”代表什么,有什么意思,在C语言里面,解答详细点啊!!!

float代表浮点型数据类型,浮点型数据又分为单精度和双精度两种,1.0小写f或者大写F代表他是单精度的,如果1.0后面跟的是小写d后者大写D代表他是双精度的。希望我的解答对你有帮助。

Q3:请问float a=0.1f是什么意思?

0.1f是指值为0.1的浮点型数据

Q4:float a=1.0f在内存中的表示是3f800000,这个3f800000是怎么得出的?麻烦谁解答下

1.0f的二进制表示为3f800000,即0 01111111 00000...其中1位符号位为0,表示正数。8位阶码为01111111,即127,根据IEEE754标准,从二进制阶码转化为实际指数,需要减去固定偏移2^7-1,即127,所以实际指数为127-127=0。尾数部分的1为规约形式的浮点数的一位隐含的二进制有效数字,这里未出现,其他23位尾数这里为全0。那么1.0f = + 1 * 2^0

Q5:float f = 0.1f; 最后的f 是什么意思?

浮点数的意思。如果不加那个f,编译器会默认0.1是双精度double类型的数据。

Q6:Double a = new Float(1.0)为什么错了,如果在1.0后面加上f对吗

new是用来动态分配内存的,此处不能用。a是定义的double型,使用强制转换也应该是用double可以改成这样:double a =(double )1.0;其实是没有意义的。直接double a=1.0;如果你之前定义了 float b =1.0;那么double a =(double) b;这是合理的。强制将float型的b转化为double型。

版权声明:admin 发表于 2021年10月24日 上午5:04。
转载请注明:可以使float a=0.1f转化为1吗 百度知道,float转换成int怎么算 | 热豆腐网址之家

相关文章