注意:C++中double的表示是有误差的
注意:C++中double的表示是有误差的,直接通过下面的例子看一下
#include<iostream>
using namespace std;
int main()
{
double i;
for(i=;i!=;i+=0.2)
{
cout<<i<<endl;
}
return ;
}
本来是希望i=10的时候退出的,却成了死循环,看一下结果

看上去运行结果中好像有10,但是并没有退出循环,究其原因,C/C++语言中机器码表示的双精度实型变量是有误差的,在i从0加到10的过程中,并不是一直以0.2为递增,可能是0.2000000001或0.20000000000001等等,具体跟机器类型有关。所以运行出来的10其实不一定是真实的10,因此,在for循环体中最好用小于、大于、小于等于或大于等于,而不要用等于或不等于。
注意:C++中double的表示是有误差的的更多相关文章
- java中double变量保留小数问题
(转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点 ...
- 程序中double类型的数输出为什么要用lf
在c89和c++中double的输入和输入输出都用%lf 在c99中,double的输出必须用%f,而输入要用%lf oIER一般使用c++,所以输出直接%lf即可.
- Java中double类型的数据精确到小数点后两位
Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); d ...
- Java中double变量精确到小数点后几(2)位
import java.math.BigDecimal; import java.text.NumberFormat; public class Java中double类型的数据精确到小数点后两位 { ...
- 【转载】C#中double.TryParse方法和double.Parse方法的异同之处
在C#编程过程中,double.TryParse方法和double.Parse方法都可以将字符串string转换为double类型,但两者还是有区别,最重要的区别在于double.TryParse方法 ...
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
(转)Java浮点数float,bigdecimal和double精确计算的精度误差问题总结 1.float整数计算误差 案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结 ...
- Matlab中double,im2double,mat2gray区别
转载:http://blog.sina.com.cn/s/blog_6c41e2f30101559d.html ****************假设某图像数据A(uint8格式)*********** ...
- C#中(double)str;与Convert.ToDouble(str);有什么区别
1. string str = "32323";2. double a = (double)str ;3. double a = Convert.ToDouble(str); 第3 ...
- 关于java中Double类型的运算精度问题
标题 在Java中实现浮点数的精确计算 AYellow(原作) 修改 关键字 Java 浮点数 精确计算 问题的提出:如果我们编译运行下面这个程序会看到什么?publi ...
随机推荐
- nodejs Q.js promise
var Q = require("q"); documentation for Qhttps://github.com/kriskowal/qhttps://github.com/ ...
- eclipse下如何关联android-support-v4.jar源码
一.首先导入jar包 如果android-support-v4.jar包在libs目录下,先将它移除.然后点选中项目右键 --->properties-->javabuildpath--& ...
- C#在Winform中改变Textbox高度三种方法
最近在做C# Winform项目,需要有一个能动态调整大小的Textbox,并且要是单行的.试了几次,单行模式的Textbox不能直接改高度.于是搜索了一下,整理出几个改变高度的方法. 1.将Text ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Jquery ajax请求导出Excel表格
直接贴代码吧 $("#btn-export").click(function(){ var exportExcel = "export_excel"; data ...
- 【单调栈】Bzoj 1012: 最大数maxnumber
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 6255 Solved: 2676[Submi ...
- 坑人的 try catch finally
一直以为这样可以关闭 fs, 其实不行 static void Main(string[] args) { FileStream fs = null; try { fs = new FileStrea ...
- [转载]关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ...
- 基于 Eclipse 平台的代码生成技术
------------------------------------------------------------------ 转自http://www.ibm.com/developerwor ...
- uva 1344
这本来是暑假集训做过的一个题 现在做来 就三种情况 1.田忌最快的比齐王最快的快 就用最快的比最快的 2.田忌最慢的比齐王最慢的快 就用最慢的比最慢的 3.上两种情况都不符合 用田忌最慢的去比齐王最快 ...