C++在int变量错误中存储double

 李da寕 发布于 2023-01-02 12:03

这是一个小程序,用于计算"间隔"大小的间隙,这些间距在两个数字之间,从'到'.然后我计算'大小'(间隙数)并将其存储在一个int变量中,有时给我一个较小的值.

这是代码:

double from=0, to=1, interval=0.1;

cout << "WORKING WITH VARIABLES: " << endl;
double operation = (to-from)/interval +1;
cout << "Size: " << operation << endl;

int size = operation;

cout << "Size after storing: " << size << endl << endl;

cout << "WORKING WITHOUT VARIABLES: " << endl;
cout << "Size: " << (to-from)/interval +1 << endl;

size = (to-from)/interval +1;

cout << "Size after storing: " << size << endl << endl;

问题似乎在于它的存储间隔.如果interval = 1,一切都很好,但如果是0.1,那么在例子中它给我10而不是11在第二种情况下的"存储后的大小".

我发现它适用于interval = 0.25(2 ^ -2).

编辑:我没有发现它在第一种情况下失败,总是在第二种情况下失败.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有