CPP(C++)に組込み可能な多倍長数値計算ライブラリ「Prjalp」
| stlalp.lib 多倍長数値計算ライブラリ(STATICライブラリ) |
| alpasm.h ヘッダファイル(四則演算、数値編集、比較) |
| alpinc.h ヘッダファイル(組込み関数) |
| usralp.cpp サンプルプログラム(四則演算) |
| usralp2.cpp サンプルプログラム(組込み関数の利用) |
| usralp3.cpp サンプルプログラム(Chudnovskyの公式で円周率πを計算) |
| (2)計算は次の2通りで行います。 |
| a.小数点位置を固定して指定の小数点以下桁数で計算 |
| b.多倍長数値を格納するエリアの最大長を決めて格納可能な大きさで計算 |
| 小数点以下の桁数、格納するエリアの最大長はいずれも任意に指定可能です。 |
| (3)計算精度は京^-mで指定します。(京=10000000000000000=10^16) |
| 例)m=100の場合は100 * 16 = 1600(小数点以下1600の計算精度) |
| 格納するエリアの大きさは概ね m+5のクワード数 |
| (4)扱える数値の最大値(実際はこれよりも大きな桁数でも可能であるが確認してない) |
| 桁数 16000桁 |
| 絶対値の範囲 1.0e-9223372036854775807~1.0e+9223372036854775807 |
| (5)ライブラリ内容 |
| 多倍長数値を格納するエリアの設定、参照 |
| 文字列から読込んで多倍長数値に変換 |
| 64ビット数値を多倍長数値に編集 |
| 多倍長数値を文字列に変換 |
| 多倍長数値の精度調整 |
| 多倍長数値の加算、減算、乗算、除算、剰余 |
| 定数値(ネイピア数、、Log(2)、Log(10)、π) |
| 自然対数(Log)、指数関数(Exp)、三角関数(Sin,Cos、Tan)) |
| 逆三角関数(Arctan、Arcsin、Arccos)、べき乗(a^x) |
| 階乗(Fact) |
| (6)補足 |
| 多倍長数値計算ライブラリ「Prjalp」を利用した 円周率πの計算 を参考にしてください |
| WINDOWS 11 (稼働確認した環境です)。 |
| Microsoft Visual Studio Community 2022 (64 ビット) - Version 17.12.3 |
| Microsoft Visual Studio Community 2026 (64 ビット) - Version 18.6.0 |
| stlalp.libはC++(64ビット)で作成しています。 |
| 次をダウンロードしてreadme.txtを参照の上利用してください。 |
| Prjalp.zip←クリック |
| (1)ソフトの実行結果について作者は十分に検証していますが |
| 他者が実行した結果については保証しません。 |
| 利用者の責任において実行してください。 |
| (2)ソフトが不要になった場合 |
| stlalp.lib,alpasm.h,alpinc.h,usralp.cpp,usralp2.cpp,usralp3.cppを全て削除してください。 |
| 履歴 |
| 2026.5.24(大安) 新規掲載 |
| 2026.6. 5(大安) 2.機能・性能 (6)補足を追記 |
2026.5.24(大安) by BJ(Boke-Jisan)