Advertisement

C++ 中的整数与浮点型转换可能导致精度损失

阅读量:

踩雷 整数和浮点数之间的转换 精度丢失C++

在进行浮点数与整数运算时,存在一个需要特别注意的区域,即当分子与分母均为整数的情况下,运算结果同样会保持为整数形式。

复制代码
    cout << 1 / 2 << endl; //输出0
    
    
      
    

此时应将数字1或2转换为浮点数形式

复制代码
    cout << 1.0 / 2 << endl; //输出0.5
    
    
      
    

在刷题过程中,我是在做leetcode题目时遇到了这个问题,该题目链接为这里
这道题是LCP02 的分式化简题目。

然而,在解题过程中,随着代码的逐步推进,仍然出现了精度方面的误差问题。

复制代码
    //我的题解
    class Solution {
    public:
    vector<int> fraction(vector<int>& cont) {
        double nums = 0 ;
        double temp = (1.0 / cont[cont.size() - 1]);
        int key1 = 0 , key2 = 0

全部评论 (0)

还没有任何评论哟~