C 實現浮點數精確加法

2022-10-03 23:09:20 字數 1454 閱讀 9645

實現兩個正浮點數的精確加法

參與運算的浮點數及計算結果所需儲存空間都不會超過main函qmzhapigs數中的定義

main函式框架要求如下:

int main();

int main() , num2[128] = , res[128] = ;

cout << "enter the first number:";

cin >> num1;

cout << "enter the second number:";

cin >> num2;

add(num1, num2, res);

cout << num1 << '+' << num2 << '=' << res << endl;

return 0;

}//獲取小數點在哪一位

int get_dot(char num)

} return i;

}//把字串轉化為整數

int char_to_int(char num, int begins, int len)

} for (int i = 0; i < len; ++i)

return integer;

}//整數轉化為字串

void int_to_char(char res, int x)

res[l + 1] = '\0';

}//得到整數部分

int get_integer(char num)

return integer;

}//得到小數部分長度

int get_decimal_len(char num)

//得到整數的長度

int get_integer_len(int x)

return integer_len;

}//得到字串長度

int get_len(char num)

//得到小數變成整數後的和

void get_decimal(char num1, char num2) }}

void add(char num1, char num2, char res)

int sum_int = get_integer(num1) + get_integer(num2) + flag;

int_to_char(res, sum_int);

*(res + get_integer_len(sum_int)) = '.';

for (i = 1; decimal[i - 1] != '\0'; ++i)

for (i = get_dot(res) + 1; res[i] != '\0'; ++i)

} if (!zero_flag) else

break;

} num1[l1] = '\0', num2[l2] = '\0';

}總結:

本文標題: c++實現浮點數精確加法

本文位址:

浮點數精確加法 C 實現

參與運算的浮點數及計算結果所需儲存空間都不會超過main函式中的定義 int main int main num2 128 res 128 cout enter the first number cin num1 cout enter the second number cin num2 add n...

浮點數加法

include includechar input 2 1000 int n char point1 1000 point2 1000 char int1 1000 int2 1000 int pointans 1000 int intans 1000 bool pointcarry int foo...

浮點數加法

求2個浮點數相加的和 題目中輸入輸出 現浮點數都有如下的形式 p1p2.pi.q1q2.對於整數部分,p1p2.pi是乙個非負整數 對於小數部分,不等於0 對於每組案例,每組測試資料佔2行,分別是兩個加數。每組案例是n行,每組測試資料有一行輸出是相應的和。輸出保證一定是乙個小數部分不為0的浮點數示例...