![](/img/trans.png)
[英]How to convert .NET Trackbar control integer value to floating-point percentage
[英]How is the smallest positive representable floating-point value determined?
只是好奇事情是如何工作的。 float max和epsilon值為
Single MaxValue = 3.40282347E+38F; // derived from 1.000.. * 2^128
Single Epsilon = 1.401298E-45F; // probably from substracting (1.00..01 - 1.00..0) * 2^-128 ?
但是最小的正值應在1 / MaxValue或1 * 2 ^ -127左右,這將使^ -39或^ -38成為十進制數的冪。 那么,float如何存儲低於-38(至-45)的功率?
對於非常小的數字,IEEE 754浮點使用允許較小間隔的歸一化值。
在計算機科學中,非正規數或非正規數(現在通常稱為次正規數)填補了浮點算術中零附近的下溢缺口。 大小小於最小標准數的任何非零數都是“次標准”。
在正常的浮點值中,有效位數不包含前導零。 而是將前導零移動到指數。 因此0.0123將寫為1.23×10-2。 非正規數是指此表示將導致其指數低於最小指數(該指數通常具有有限范圍)的數字。 此類數字使用有效數字的前導零表示。
有關更多信息,請參見非常規數字的Wikipedia頁面或IEEE 754-1985的頁面,其中還列出了您遇到的數字(10 ^ -45)。
最接近零的正數和負數(在指數字段中用全零表示的歸一化值,在分數字段中用二進制值1表示)是±2 ^ -149≈±1.40130×10 ^ -45
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.