|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 非 : [ひ] 1. (adj-na,n,pref) faulty- 2. non- ・ 正 : [ただし, せい, しょう] 【名詞】 1. (logical) true 2. regular ・ 正規 : [せいき] 1. (adj-na,n,adj-no) regular 2. legal 3. formal 4. established 5. legitimate ・ 正規化 : [せいきか] (n,vs) normalise ・ 化 : [か] (suf) action of making something ・ 数 : [すう, かず] 1. (n,n-suf) number 2. figure
非正規化数(ひせいきかすう、''Denormalized Number'')または非正規数(ひせいきすう、''Denormal Number'')は、浮動小数点方式において「正規化」して表現できないような、0にごく近い、絶対値が極端に小さい数の表現法により表現された数である。英語では ''Subnormal Number'' とも。たとえばC言語の倍精度(double)の場合、float.h により DBL_MIN という名前に定義される最小の正規化数よりも絶対値が小さい(つまりゼロに近い)。== 概要 == 一般に浮動小数点方式では、仮数部の上位桁にゼロが出現しないよう表現を調整する。たとえば、0.0123 は 1.23 × 10-2 と表現される。これを「正規化」と言う。非正規化数は、正規化すると、表現に使用しようとしている表現方式で、指数が表現可能な範囲より小さくなってしまう数である(一般に浮動小数点では、仮数部・指数部のどちらも桁数は固定である)。たとえばIEEE 754の倍精度(binary64)では、指数が2-1022までしか表現できない。これより小さな数は、指数部のビットを全ゼロ(これは 0.0 と同じ)としたうえで2-1022を表しているものとし、仮数部は正規化されていない2進表現とする。 もう少し具体的に説明する。一般に浮動小数点数方式における仮数部は、位取り記数法による、重み付けの最も大きい方の桁の数字の並びである。ここで、ある桁数''p''の正の正規化数の仮数部を''m''0'' . m''1''m''2''m''3''...mp''-2''mp-''1''''とする。「正規化」の定義から、最上位桁(''m''0'''')はゼロ以外である。二進法の場合、0でなければ常に1であるため、コンピュータのレジスタやメモリにおけるビット列などの具体的な表現では、常に1であることがわかっている最上位ビット(MSB)は省略してしまうことも可能である(いわゆるケチ表現)。この省略法を採用している場合、正規化数とは、この「省略された暗黙の1」がある数である、とも言える。 これに対し非正規化数は指数部の制限のために、ケチ表現とすることはできず、上位桁にゼロが埋められた数により(0 . ''m''1''m''2''m''3''...mp-''2''mp-''1'''')、最小の正規化数よりも絶対値が小さい数を表現する。表現可能な桁数(すなわち相対精度)も低下する〔絶対精度は、最小の正規化数と同じままである。〕。 IEEE 754-2008 では、非正規化数は ''subnormal number'' と改名され、二進だけでなく十進の形式も規定されている。十進には前述の二進の場合のケチ表現のようなものは無いため、形式としても二進の場合のような違いはない。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「非正規化数」の詳細全文を読む スポンサード リンク
|