iron_bigint.hsp
Version 3.8
Date 2026/04/18
Author IronHSP
iron_bigint
bi
文字列から BigInt を生成
10進数文字列から任意精度整数を生成してハンドルを返します。
先頭に "+" / "-" を付けることも可能です。失敗時 0。
bi_add
BigInt 加算
a + b を新しいハンドルで返します。
bi_and
ビット AND
|a| AND |b| を返します (符号は無視)。
bi_bitlen
bit 長を取得
絶対値を表現するのに必要な bit 数を返します (0 のとき 0)。
bi_clone
ハンドルを複製
既存ハンドルの値を複製した新しいハンドルを返します。
bi_cmp
比較
a < b なら -1、a = b なら 0、a > b なら 1 を返します。
bi_div
BigInt 除算 (商)
a / b (整数商) を新しいハンドルで返します。0 除算の場合 0。
bi_eq
等値判定
a = b なら 1、違えば 0。
bi_free
ハンドルを解放
bi() 等で取得したハンドルを解放します。
bi_from
int から BigInt を生成
32bit 整数から BigInt を生成します。
bi_from64
64bit int から BigInt を生成
64bit 整数 (低位 32bit + 高位 32bit) から BigInt を生成します。
bi_gcd
最大公約数
|a| と |b| の最大公約数を返します。
bi_gt
大なり判定
a > b なら 1、違えば 0。
bi_hex
BigInt を 16進文字列に変換
ハンドルの値を 16進 (大文字) 文字列に変換して返します。
bi_int
BigInt の下位 32bit を整数として取得
下位 32bit を int として取得します (オーバーフローは切り捨て)。
bi_int64
BigInt の下位 64bit を lo/hi で取得
下位 64bit を lo/hi 2つの int に分けて取得します。
bi_lt
小なり判定
a < b なら 1、違えば 0。
bi_mod
BigInt 剰余
a % b を新しいハンドルで返します (符号は被除数 a と同じ / C 流 trunc)。
bi_mul
BigInt 乗算
a * b を新しいハンドルで返します。
bi_neg
符号反転
-a を返します (0 は 0 のまま)。
bi_or
ビット OR
|a| OR |b| を返します。
bi_pop
プール終了 (一括解放)
bi_push で開始したプール内のハンドルを一括解放します。
bi_push とネストして入れ子にもできます。
bi_pow
BigInt 冪乗
a ^ exponent (exponent は通常の int) を返します。
exponent が負の場合は 0 を返します。
bi_push
プール開始
自動解放プールを開始します。以後 bi_* で取得したハンドルは
プールに追跡され、対応する bi_pop で一括解放されます。
bi_str
BigInt を 10進文字列に変換
ハンドルの値を 10進文字列に変換して返します (defcfunc)。
bi_sub
BigInt 減算
a - b を新しいハンドルで返します。
bi_xor
ビット XOR
|a| XOR |b| を返します。