● サンプルプログラム

Sample5

fixed X で小数点以下を表現するための機構を実演するサンプルプログラムです(コンソールアプリケーション)。「小数点以下の計算」で説明した「10n倍する方法」とは異なる内容です。

このプログラムでは、整数部と小数部を分けます。整数部は 32bit 、小数部は 16384bit で、小数点の位置は固定です。
(Sample5.h 参照の事)

typedef struct {
    FIXEDVAL        low_part[LOWPART_SIZE]; /* 小数部 */
    unsigned long   high_part;              /* 整数部 */
} FIXNUM,*PFIXNUM;
整数の定数をセットする場合、メンバ high_part へ値をセットし、low_part はゼロクリアします。計算をする時は変数全体を処理対象としますので、fixed X の関数側から見ると high_part × 216384 と同じになります。