Dan*_*nny 1 c++ arrays floating-point if-statement
对,我有一个浮点数组,只存储1和0.我试图只是做一个简单的测试/检查数组中的当前插槽是1它将打印出一条消息说它是1,否则,它是0.继承我的代码:
if(myArray[i] == 1)
{
cout << "this is 1 !!!!!" << endl;
}
else
{
cout << "this is 0 ";
}
Run Code Online (Sandbox Code Playgroud)
但这只是继续进入"其他"部分.即只打印"这是0".它有什么问题(或者我的错误是什么?:P)??
很棒的链接:每个计算机科学家应该知道的浮点运算
在阅读之后,你会发现1的浮点表示不是整数值1.它很接近,但并不完全,这就是为什么你的条件总是假的.
为什么要用floats来存储布尔数据?使用bools或bitvector 数组.
编辑:我实际上无法想到任何情况下(或为什么)你将floats与文字进行比较,任何人都知道吗?
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |