有効桁を越える繰り上がりがある足し算の実装
作者: ameya さん実行数: 135
※ 本ライブラリは会員の方が作成した作品です。内容について当サイトは一切関知しません。
これは10桁に設定してやっていますが50桁でも同じ考え方でできます。
a = A;
b = B;
h = 5E+9;
k = 1E+10;
c = (a - h) + (b - h);
if (c <= 0) {
println(0, c + k);
} else {
println(1, c);
}
b = B;
h = 5E+9;
k = 1E+10;
c = (a - h) + (b - h);
if (c <= 0) {
println(0, c + k);
} else {
println(1, c);
}
この計算についてお客様の声はまだありません。
足し算をした結果が有効桁数を越えると指数表示になって一番下の桁が丸められてしまうのですが、
加算するときに特殊な操作をすることで桁丸めを回避して繰上りを実現します。