32位浮點數(shù)的取值范圍 計算機浮點數(shù)表示范圍是怎么算出來的?
計算機浮點數(shù)表示范圍是怎么算出來的?浮點數(shù)是屬于有理數(shù)的一個特定子集的數(shù)字的數(shù)字表示,用于在計算機中逼近任何實數(shù)。具體地說,這個實數(shù)是由整數(shù)或定點數(shù)(即尾數(shù))乘以基數(shù)的整數(shù)冪(在計算機中通常是2)得到
計算機浮點數(shù)表示范圍是怎么算出來的?
浮點數(shù)是屬于有理數(shù)的一個特定子集的數(shù)字的數(shù)字表示,用于在計算機中逼近任何實數(shù)。具體地說,這個實數(shù)是由整數(shù)或定點數(shù)(即尾數(shù))乘以基數(shù)的整數(shù)冪(在計算機中通常是2)得到的,這類似于基數(shù)為10的科學(xué)記數(shù)法。浮點運算是指涉及浮點數(shù)的運算,由于不能精確表示,通常伴隨著近似或舍入。浮點數(shù)A由兩個數(shù)字m和E表示:A=m×be。在任何這樣的系統(tǒng)中,我們選擇基數(shù)B(計數(shù)系統(tǒng)的基數(shù))和精度P(即存儲多少位)。
浮點數(shù)的表示范圍?
32位規(guī)范化浮點數(shù)最常用的表示范圍是:前提條件:順序碼用移位碼表示,尾數(shù)用補碼表示,每一位是符號位,順序碼占8位,尾數(shù)占23位,可以表示的最大正數(shù):(1-2^-23)*2^127最小正數(shù):2^-129最大負(fù)數(shù):-2^-129最小負(fù)數(shù):-2^127
根據(jù)最廣泛使用的IEEE754標(biāo)準(zhǔn),浮點數(shù)據(jù)類型的長度是32位,其中最高的位是符號位,中間的8位是索引位,最后的23位是尾位。因此,浮動范圍(-3.4e38)~(3.4e38)很大,基本上可以滿足我們的需要。然而,一個問題是精度。23位尾數(shù)的最大范圍是2^23?1=8388607,所以浮點數(shù)的小數(shù)精度只有6-7位,所以使用浮點數(shù)時要注意其精度。
類似地,double的尾數(shù)從23位擴展到52位,順序碼從8位增加到11位。其示值范圍為-1.7e 308~1.7e 308,精度為2^52-1=4503599627370495,為16位,最小精度為15位。
浮點數(shù)最大表示范圍?
關(guān)于一個浮點數(shù)表示范圍的問題?
浮點數(shù)由兩部分組成:基m和索引E
基部分使用二進制數(shù)表示浮點數(shù)的實際值。
索引部分占用8位二進制數(shù),可以表示0-255的范圍。然而,指數(shù)可以是正的,也可以是負(fù)的,因此IEEE規(guī)定這里計算的冪必須減去127才是真正的指數(shù)。因此,float的指數(shù)可以是-126到128。實際上,它占用了24位的值。因為它的最高位總是1,所以最高位不存儲,只存儲23位。到目前為止,23位的基部加上8位的索引部分已經(jīng)使用了31位。如前所述,float占用4個字節(jié),即32位。那么另一位是干什么的?還有一個位,實際上是4字節(jié)中的最高位,用來表示浮點數(shù)的正負(fù)。最高位為1時為負(fù)數(shù),最高位為0時為正數(shù)。