>>478
template<typename prec, int sign, int exp, typename fraction>
  struct StaticReal{
  static const int s = sign;
  static const int e = exp;
  typedef fraction f;
};

って感じです。

precは精度を指定するテンプレート・パラメータです。
(doubleとかfloatとかを指定します。)

小数部をあらわすfractionが基本型でなく
typedefになっているのはIEEE準拠のdoubleの実装には
64bitを超える結果を返す正確な整数演算が必要だったため、
それもクラス・テンプレートで実装する必要があったからです。

具体的な各浮動小数点数値はこのテンプレートの特殊バージョンとして与えられます。