大きな数値を扱うと、データ型の範囲を超えてしまい、計算結果が間違ってしまうことがあります。
int a = MaxInt; //2147483647
int b = 1; //1
int c = a + b; // => -2147483648
TBcd型を使うと、大きな数値を簡単に扱うことができます。
#include "FMTBcd.hpp"
TBcd a = IntegerToBcd(MaxInt); //2147483647
TBcd b = IntegerToBcd(1); //1
TBcd c;
BcdAdd(a, b, c); // => 2147483648
AnsiString msg = BcdToStr(c);
加算
BcdAdd(const TBcd bcdIn1, const TBcd bcdIn2, TBcd bcdOut);
減算
BcdSubtract(const TBcd bcdIn1, const TBcd bcdIn2, TBcd bcdOut);
乗算
BcdMultiply(const TBcd bcdIn1, const TBcd bcdIn2, TBcd bcdOut);
除算
BcdDivide(const TBcd Dividend, const TBcd Divisor, TBcd bcdOut);
文字列に変換
AnsiString BcdToStr(const TBcd Bcd);