首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用浮点型以外的其他类型进行编码时,是否应该使用'>=‘而不是'==’来确保额外的安全性?

在使用浮点型以外的其他类型进行编码时,是否应该使用'>=‘而不是'==’来确保额外的安全性?
EN

Stack Overflow用户
提问于 2018-10-23 02:08:27
回答 1查看 104关注 0票数 3

在处理浮点时,应该使用

代码语言:javascript
复制
a <= 0.0

而不是

代码语言:javascript
复制
a == 0.0

以确保您获得所需的行为,因为在使用浮点变量时,round-off errors存在问题。

但是当使用像int这样的其他变量类型时,做同样的事情会有用吗?就像您有一个遍历int变量(如索引)的for循环一样,当它达到一个数字时,它应该执行一些操作。然后,当比较结果应该是相同的输出时,您是否应该将比较设置为>=而不是==?例如,在以下情况下,是否会出现不计算==的情况:

代码语言:javascript
复制
for (int i = 0; i < 10; i++)
{
    if (i == 5)
    {
        break;
    }
}

这样做会更“安全”:

代码语言:javascript
复制
for (int i = 0; i < 10; i++)
{
    if (i >= 5)
    {
        break;
    }
}

如果在编写“安全”代码时两者之间没有区别,那么是否存在性能或可读性差异或其他可以让人在两种编码方式之间做出选择的东西?

我试着用谷歌搜索了一下,但是找不到任何说明。但这可能与搜索运算符的问题有关。

我问这个是不是太偏执了?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52935297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档