1. 程式人生 > >c語言中的高精度浮點數

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; }