bigdec_get_scale

BigDec のスケール (小数点以下桁数) を取得

bigdec_get_scale h

h : BigDec ハンドル

(プラグイン / モジュール : hspmathex.dll)

解説

BigDec h のスケール (小数点以下の桁数) を intreturn します。
負のスケールもあり得ます (例: "120" を scale=-1 で持つと "12e1")。

サンプル

#include "hspmathex.as"
h = bigdec_create("3.14159")
mes str(bigdec_get_scale(h))    ; => 5
bigdec_free h
stop

関連項目

bigdec_scaleBigDec のスケール (小数点以下桁数) を変更(hspmathex.dll)
bigdec_get_precisionBigDec の有効桁数を取得(hspmathex.dll)

情報

プラグイン / モジュールhspmathex.dll
バージョン3.8
作成日2026/04/18
著作者IronHSP
URLhttps://github.com/inovia/IronHSP
備考hspmathex.dll は次の 3 種類の API を 1 つの DLL で提供します。

------------------------------------------------------------
(1) HSPVAR 拡張型 - 通常の変数と同じ感覚で扱える任意精度数値型
------------------------------------------------------------

#include "hspmathex.as"

追加される変数型:
bigint ... 任意精度整数 (Java の BigInteger 相当)
bigdec ... 任意精度10進固定小数 (Java の BigDecimal 相当)

これらの型の変数は + - * / \ & | ^ == != < > <= >= 等の演算子で
自然に書けます。文字列化は str()、型名は vartype() で取得できます。
変数の寿命管理 (メモリ解放) は HSPVAR 機構が自動で行うため、
ハンドルを明示的に解放する必要はありません。

------------------------------------------------------------
(2) ハンドルベース API - 高速・低オーバーヘッドのスタイル
------------------------------------------------------------

bi_* : BigInt 操作 (bi_create_str / bi_add / bi_mul / ...)
bigdec_* : BigDec 操作 (bigdec_create / bigdec_div / bigdec_sqrt / ...)

整数や文字列からハンドル (int) を生成し、各演算関数はハンドルを
受け取って結果ハンドルを返します。不要になったハンドルは必ず
bi_free / bigdec_free で解放してください。忘れるとリークします。
ハンドル 0 は常に無効値です (失敗時に返されます)。

------------------------------------------------------------
(3) SIMD API - SSE/AVX/AVX2 ベクトル演算
------------------------------------------------------------

simd_has_* : 実行 CPU の SIMD 対応判定 (CPUID + XGETBV)
simd_cpu_name : CPU ブランド名取得
simd_*_d : double 配列演算 (AVX 優先、SSE2 フォールバック)
simd_*_i : int32 配列演算 (AVX2 優先、SSE2 フォールバック)
simd_*_f : float 配列演算 (AVX 優先、SSE フォールバック)
simd_matmul_* : 行列積 (row-major, f/d 両対応)
simd_pixel_* : 画像処理 (alpha ブレンド / グレースケール)

SIMD 関数群は C ABI の __cdecl としてエクスポートされているため、
通常は iron_simd.hsp のラッパを介して呼び出すのが簡単です。
#uselib で直接呼ぶこともできます。

------------------------------------------------------------
依存: hspmathex.dll (x64 では hspmathex_64.dll) を実行ファイルと
同じディレクトリに配置してください。

サンプル:
#include "hspmathex.as"
a = bigint("12345678901234567890")
b = bigint("99999999999999999999")
c = a + b
mes str(c)
mes vartype(a)
stop
タイプ拡張命令
グループhspmathex
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmathex.hs