ミニフロート

計算機においてミニフロートは非常に少ないビット数で表現される浮動小数点数である。当然ながら、汎用的な数値計算は不向きである。ミニフロートは特殊な用途に使用され、特にコンピューターグラフィクスでは、反復計算が少なく精度が美的効果をもたらす場合によく使用される。機械学習でもbfloat16のような類似のフォーマットが使われる。更に浮動小数点演算やIEEE754の特性や構造を示すために、コンピューターサイエンスのコースで教育的ツールとして頻繁に使用される。

16ビットのミニフロートは、半精度浮動小数点数であり、8ビットやそれ以下のミニフロートもある。

 表記方法 
ミニフロートは通常、４つの数値(S,E,M,B)の組み合わせにより記述される。

 S は符号部の長さを表し、通常は0か1のどちらか。
 E は指数部の長さ。
 M は仮数部の長さ。
 B は指数バイアスを表す。

 例 
+8ビットのフロートの例
(符号1bit 指数4bit 仮数部3bit)符号指数部仮数部00000000

 値の表 
IEEE 754と同様に扱った場合に、バイアス1で取りうるすべての値の表である。
... 000... 001... 010... 011... 100... 101... 110... 1110 0000 ...00.1250.250.3750.50.6250.750.8750 0001 ...11.1251.251.3751.51.6251.751.8750 0010 ...22.252.52.7533.253.53.750 0011 ...44.555.566.577.50 0100 ...891011121314150 0101 ...16182022242628300 0110 ...32364044485256600 0111 ...64728088961041121200 1000 ...1281441601761922082242400 1001 ...2562883203523844164484800 1010 ...5125766407047688328969600 1011 ...102411521280140815361664179219200 1100 ...204823042560281630723328358438400 1101 ...409646085120563261446656716876800 1110 ...819292161024011264122881331214336153600 1111 ...InfNaNNaNNaNNaNNaNNaNNaN1 0000 ... -0 -0.125 -0.25 -0.375 -0.5 -0.625 -0.75 -0.8751 0001 ... -1 -1.125 -1.25 -1.375 -1.5 -1.625 -1.75 -1.8751 0010 ... -2 -2.25 -2.5 -2.75 -3 -3.25 -3.5 -3.751 0011 ... -4 -4.5 -5 -5.5 -6 -6.5 -7 -7.51 0100 ...−8−9−10−11−12−13−14−151 0101 ...−16−18−20−22−24−26−28−301 0110 ...−32−36−40−44−48−52−56−601 0111 ...−64−72−80−88−96−104−112−1201 1000 ...−128−144−160−176−192−208−224−2401 1001 ...−256−288−320−352−384−416−448−4801 1010 ...−512−576−640−704−768−832−896−9601 1011 ...−1024−1152−1280−1408−1536−1664−1792−19201 1100 ...−2048−2304−2560−2816−3072−3328−3584−38401 1101 ...−4096−4608−5120−5632−6144−6656−7168−76801 1110 ...−8192−9216−10240−11264−12288−13312−14336−153601 1111 ...−InfNaNNaNNaNNaNNaNNaNNaN

Category:コンピュータの算術
Category:データ型