Top / Programming / C++Builder / 大きな数値を扱う(TBcd)

大きな数値を扱う(TBcd)

大きな数値を扱うと、データ型の範囲を超えてしまい、計算結果が間違ってしまうことがあります。

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