削除された内容 追加された内容
m 浮動小数点数の式による説明を追加ほか
MAQA (会話 | 投稿記録)
編集の要約なし
21行目:
[[浮動小数点数]]と[[IEEE 754]](浮動小数点数標準)も参照のこと。
 
===10進型===
[[Category:データ型|しっすうかた]]
0.1、0.01 など、[[10進数]]では割り切れる小数でも、2進数では[[無限小数]]となり[[丸め誤差]]が発生する。この種のデータを丸め誤差なしに扱うための実数型が10進型である。
 
内部表現は整数型の仮数で、それがスケーリングされる。仮数が整数 ''n'' のとき、実数 ''n'' / 10{{sup|''m''}} を表す。10{{sup|''m''}} をスケールファクターと呼ぶ。
 
スケールファクターは固定とは限らず、浮動小数点数のようにスケールファクターを指数部として型の内部に備え可変とした型もある。たとえば [[Visual Basic]] の10進型は1、仮数部(符号なし整数)に12バイト、指数部・符号などに4バイトを使う。
 
仮数は通常の整数表現とは限らず、4ビットで10進1桁(0~9)を表す[[パックBCD]]や、8ビットで10進2桁(0~99)を表す内部表現も使われる。これらが使われるのは桁数の多い整数型を容易に提供するためであり、通常の整数表現で桁数を多くできるならパックBCD等を使う必要性は薄い。
 
===通貨型===
金額型とも。[[通貨]]の量(金額)を表すための型で、内部表現は10進型の一種である。ただし、10進型と通貨型を共に持つ言語で、それらが同じ内部表現とは限らない。
 
===二重指数表現===
±''p''{{sup|±''q''{{sup|''m''}}}}(''p'', ''q'' は定数、''m'' が内部表現される変数)の形の実数を表す。''p'' = ''q'' = 2 とするURRが知られる。
 
仮数部と指数部の2変数を持つ浮動小数点数と比べ、指数の指数とでも言うべき1つの変数しか持たない。同じビット数の浮動小数点数より非常に広い範囲の実数を、可変する精度(±1 付近で最も高精度で、それらから離れるに従い悪くなる)で表せる。仮数部と指数部のビット数が可変な実数表現と言うこともできる。
 
いくつか便利な特徴があるが、実装が複雑になるため、[[プリミティブ型|プリミティブ]]な実装はない。
 
{{デフォルトソート:しつすうかた}}
[[Category:データ型|しっすうかた]]
[[Category:実数]]
 
[[en:Real data type]]