--- /dev/null
+.. index::
+ single: bignumber; はじめに
+
+====================
+BigNumber ライブラリ
+====================
+
+Big Number ライブラリの用法を学びます。
+
+開発者 : バート・マリアーニ、ガル・ゾルト (カームソフト)
+
+.. index::
+ pair: bignumber; ライブラリの読み込み
+
+ライブラリの読み込み
+====================
+
+この関数の使用前に bignumber.ring ライブラリを読み込みます。
+
+.. code-block:: ring
+
+ load "bignumber.ring"
+ # BigNumber ライブラリ関数の使用
+
+.. index::
+ pair: bignumber; 用例
+
+用例
+====
+
+BigNumber ライブラリは非常に大きい数の算術演算で使用します。
+
+用例:
+
+.. code-block:: ring
+
+ load "bignumber.ring"
+
+ num1 = "62345678901234567891678345123456789" ### 大なり
+ num2 = "1237894567890123419871236545" ### 小なり
+ num3 = "64" ### 小なりを割る
+ num4 = "765432"
+ num5 = "3" ### 累乗
+
+ ? "Add big numbers:"
+ a1 = new BigNumber(num1) a1.Print()
+ a2 = new BigNumber(num2) a2.Print()
+ a3 = a1 + a2 a3.Print() ? nl
+
+ ? "Substract big numbers:"
+ a1 = new BigNumber(num1) a1.Print()
+ a2 = new BigNumber(num2) a2.Print()
+ a3 = a1 - a2 a3.Print() ? nl
+
+ ? "Multiply big numbers:"
+ a1 = new BigNumber(num1) a1.print()
+ a2 = new BigNumber(num2) a2.print()
+ a3 = a1 * a2 a3.print() ? nl
+
+ ? "Divide big numbers:"
+ a1 = new BigNumber(num1) a1.print()
+ a2 = new BigNumber(num2) a2.print()
+ a3 = a1 / a2 a3.print() ? nl
+
+ ? "Divide big numbers: by very small number"
+ a1 = new BigNumber(num1) a1.print()
+ a2 = new BigNumber(num3) a2.print()
+ a3 = a1 / a2 a3.print() ? nl
+
+ ? "Power of big number:"
+ a1 = new BigNumber(num1) a1.print()
+ a2 = new BigNumber(num5) a2.print()
+ a3 = a1 ^ a2 a3.print() ? nl
+
+実行結果:
+
+.. code-block:: none
+
+ Add big numbers:
+ 62345678901234567891678345123456789
+ 1237894567890123419871236545
+ 62345680139129135781801764994693334
+
+
+ Substract big numbers:
+ 62345678901234567891678345123456789
+ 1237894567890123419871236545
+ 52345687663340000001554925252220244
+
+
+ Multiply big numbers:
+ 62345678901234567891678345123456789
+ 1237894567890123419871236545
+ 77177377243260150103462178714197454736432472780119682305154005
+
+
+ Divide big numbers:
+ 62345678901234567891678345123456789
+ 1237894567890123419871236545
+ 50364288
+
+
+ Divide big numbers: by very small number
+ 62345678901234567891678345123456789
+ 64
+ 974151232831790123307474142554012
+
+
+ Power of big number:
+ 62345678901234567891678345123456789
+ 3
+ 242336636261471172092347146031727004 (実行結果は次行へ続きます)
+ 371698195628343934238988256152289508 (実行結果は次行へ続きます)
+ 493964611043228971692389860897069
+
+
+.. index::
+ pair: bignumber; BigNumber 関数
+
+BigNumber 関数
+==============
+
+このライブラリで使える関数のリストです。
+
+.. code-block:: none
+
+ FuncAdd(num1,num2)
+ FuncSubtract(num1,num2)
+ FuncCompare(num1,num2)
+ FuncDivide(num1,num2)
+ FuncMultiply(num1,num2)
+ FuncPower(num1,num2)
+ FuncBinaryToDecimal(num1)
+ FuncDecimalToBinary(num1)
+ printBinaryDigits(binList)
+ printDecimalDigits(decList)
+
+.. index::
+ pair: bignumber; BigNumber クラス
+
+BigNumber クラス
+================
+
+このライブラリで使えるクラスのリストです。
+
+.. code-block:: ring
+
+ class BigNumber
+ func init aPara
+ func operator cOperator, Para
+ func print
+ func value
+
+.. index::
+ pair: bignumber; ライブラリのソースコード
+
+ライブラリのソースコード
+========================
+
+ライブラリのソースコードは ring/ringlibs/bignumber フォルダにあります。
+
+ソースコード : https://github.com/ring-lang/ring/blob/master/ringlibs/bignumber/bignumber.ring
+