c語言中的高精度浮點數

由於浮點數有誤差,有時候不能有誤差,說以我們可以用一個除法來記錄,然後用整型來記錄:
n/m

餘數*10繼續除就好了這樣就不會有小數點了。

下面一個例子:保留200個小數位。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int n,m,i=1,b=1;
    scanf("%d/%d",&n,&m);
    printf("0.");
    while(b){
        n*=10;
        int d = n/m;
        n = n%m;
        printf("%d", d);
        if(n==0){b=0;}

        i++;
        if(i>200){
            b=0;
        }
    }

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章