这是一个小程序,用于计算"间隔"大小的间隙,这些间距在两个数字之间,从'到'.然后我计算'大小'(间隙数)并将其存储在一个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).
编辑:我没有发现它在第一种情况下失败,总是在第二种情况下失败.