Tag: 浮点转换

为什么当float不能表示所有的int值时,C ++将int提升为float?

说我有以下几点: int i = 23; float f = 3.14; if (i == f) // do something i将被提升为一个float ,并将两个float进行比较,但float是否可以表示所有的int值? 为什么不把int和float提升为double ?

浮点比较问题

void main() { float f = 0.98; if(f <= 0.98) printf("hi"); else printf("hello"); getch(); } 我在这里得到这个问题。使用不同的浮点值得到不同的结果。 为什么发生这种情况?

除1 / n总是返回0.0

我试图计算p1 =(1/1) (1/2) … *(1 / n),但是有些地方是错误的,printf给了我0.000 … 0 #include <stdio.h> int main(void) { int i,num; float p3; do { printf ("give number N>3 : \n" ); scanf( "%d", &num ); } while( num <= 3 ); i = 1; p3 = 1; do { p3=p3*(1/i); printf( "%f\n",p3 ); } while ( i <= num […]