f在将常量分配给 a 时,将an应用于浮点常量似乎没有什么区别float。
int main(void) {
float f;
// 1 2345678901234567
f = 3.1415926535897932;
printf("%.6a %.8f pi 3.1415926535897932\n", f, f);
f = 3.1415926535897932f; // v
printf("%.6a %.8f pi 3.1415926535897932f\n", f, f);
}
Run Code Online (Sandbox Code Playgroud)
有或没有f,值是一样的
// value value code
0x1.921fb6p+1 3.14159274 pi 3.1415926535897932
0x1.921fb6p+1 3.14159274 pi 3.1415926535897932f
Run Code Online (Sandbox Code Playgroud)
为什么要使用f?
在研究视频压缩编码器时,我遇到了float rateRatio = 1.0f.我想知道它在哪里有所不同我的意思是1.0f和1.0?
为什么
float bla = ( 5/9 )* (100 - 32) result in 0 * 100 -> 0 ?
Run Code Online (Sandbox Code Playgroud)
和
float bla= 5*(100- 32) / 9;
Run Code Online (Sandbox Code Playgroud)
锻炼?他似乎将5/9视为一个整数,并使其为0,但结果变量是浮点数,因此编译器应该知道他可以使用5/9或?