可以,直接比就行了。不过可能会有误差。浮点数存在精度问题。当一个浮点数和整型数相互运算的时候整型数会扩展成浮点数的。
从原则上和语法上来说,C语言中整型数都是可以和浮点数判断是否相等的。但是在逻辑上很可能因为计算机的浮点误差而带来差错。计算机会自动把整数转换为浮点数后再进行判断。但是,要想比较两个浮点数是否相等,最好应该比较它...
当然可以,最好不要单独比较是否相等,应为看似相等的两个浮点数不一定相等。
以下是两个函数,一个用于比较整数,另一个用于比较浮点数:c复制代码 include <stdio.h> // 函数来找出两个整数中的最大值 int max_int(int a, int b) { return (a > b) ? a : b;} // 函数来找出两个...
1、int:是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。2、float:于存储单精度浮点数或双精度浮点数。二、数据范围不同 1、int:int占用4字节,32比特,数据范围为-21474838~...
在c++中,int和double有以下几个区别:1、类型区别:int是定义的整型数据,如int a 则a的值只能是整型,比如a=3。double双精度浮点数,就是有小数点的数。2、在计算中的存储方式:int在32位计算机中占4个字节,这4个...
表达式的数据类型是float型,因为这个表达式的意思是,如果fri等于m则输出fri,不等就输出m,显然他们不相等,所以输出的是m,而m的类型是float型,所以是单精度
float a=110;float b=10;b*=1.1f;if(a!=b) { //肯定可以运行到这里,因为float无法精确表示 0.1, 0.3 这种非2的整数幂次的数字 } 你要仔细看看关于float结构的书, float数字分为符号位 + 基数 + 指数 三...
可以的。。。include <stdio.h> main(){ int i;float s;scanf("%d%f",&i,&s);if (i>s)printf("i>s");else printf("i
由于double浮点数的精度问题,所以在比较大小的时候,不能像int整数型那样,直接if(a==b),if(ab)。要使用一个精度EPS:const double EPS = 1e-6; //一般这样子就够,但有时具体题目要考虑是否要更小的 ;if(fa...