社区
新手乐园
帖子详情
小问下!
风尘雨路
2005-12-22 04:21:13
1. 以下代码是否有问题,如果有请说明:
double firstLength;
double totalLength;
…… // 相关处理
if (firstLength == totalLength)
{
// doSomething
}
...全文
127
5
打赏
收藏
小问下!
1.以下代码是否有问题,如果有请说明: double firstLength; double totalLength; …… // 相关处理 if (firstLength == totalLength) { // doSomething }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
g20044111
2005-12-22
打赏
举报
回复
HOHO```
不错的问题,UP!!!!!!!!!!
iamcaicainiao
2005-12-22
打赏
举报
回复
4.3.3 浮点变量与零值比较
【规则4-3-3】不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON是允许的误差(即精度)。
请写出 float x 与“零值”比较的 if 语句:
If ((x>0.000001)|| (x<-0.0000001))
因此,搂住的自然是由问题的了哦
屋顶上的老猫
2005-12-22
打赏
举报
回复
对于浮点数的大小比较问题,下面是比较的程序代码:
bool IsEqual(float f1, float f2, int absDelta)
{
int i1, i2;
i1 = ( f1>0) ? ((int&)f1) : ( (int&) f1 - 0x80000000 );
i2 = (f2>0) ? ((int&)f2) : ( (int&) f2 - 0x80000000 );
return ((abs(i1-i2))}
//(int &)a的意思是将a存储单元开始的内容解释为一个int引用
absDelta 两个浮点数之间允许有多少个其他可以精确表达的浮点数存在,相当于相对误差,浮点数的比较只能通过其在内存中的存储形式比较。
Rick_ang
2005-12-22
打赏
举报
回复
比如:
if(abs(firstLength,totalLength)<1e-6)
{
//do something
}
Rick_ang
2005-12-22
打赏
举报
回复
有问题,浮点数不能用==比较..用一个精度范围来确定是否相等
前端技术到底水不水,问下作用域就知道了!
作用域是指代码中变量和函数的可访问范围。简单说,就是在什么地方可以使用某个变量。全局作用域函数作用域块级作用域词法作用域(静态作用域)作用域是指代码中变量和函数的可访问范围。简单说,就是在什么地方可以使用某个变量。全局作用域函数作用域块级作用域词法作用域(静态作用域)我们一一来看。不同的作用域类型解决了不同的问题,但也有可能因为作用域管理不当导致 bug。全局作用域负责大家,函数作用域只管函数,块级作用域做自己的事,而词法作用域规则从不变。最后,牢记 ES6 的let和const。
娱乐问题=.=,可以问下你身边的人,看有几个能全答对的!
突然想到三个很好玩的东西。 谁能不写程序的情况下把这三个答案写出来呢? 第一 int i=0; i=++i+i++; 第二 int i=0; if(i++||i)i=10; 第三个 int i=6,j=3; i=i+j&0x01; 求上面三个i最终的值,不能写代码。然后你再写代码看看
oracle minus 利用率,弱弱的问下minus和not exists究竟哪个效率好点!
SQL> explain plan for2select * from objects3minus4select * from objects15/SQL> select * from table(dbms_xplan.display());PLAN_TABLE_OUTPUT------------------------------------------------...
获取手机状态栏高度_朋友的手机状态栏竟然显示移动5G,好不容易才问下他的设置方法!...
哈喽 大家好今天给大家分享一个手机新玩法让你假装自己提前用上了5G手机效果就如我手机屏幕所示是不是非常的羡慕呢其实这个并不是真正的5G而是自定义手机状态栏呈现出来的效果下面我就来教大家操作一下我们打开微信点击上方的搜索在这里输入“kx9072”或“趣味技巧”点击下方的搜一搜点击进入在下方的对话框中输入055点击发送 即可获取打开进入之后首先在手机设置里开启相关权限然后把启用状态栏打开接...
mysql数据库默认插入数据的大小_java-mysql中如何在输入时数据的按大小顺序添加到数据库中去!问下该如何实现这个代码比如:下面所示:...
publicbooleanInsert(){Connectionconn=null;Statementstmt=null;ResultSetrs=null;Class.forName("com.mysql.jdbc.Driver");Stringurl="jdbc:mysql://localhost/mysql?user=root&pas...public boolean Insert (...
新手乐园
33,315
社区成员
41,769
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章