在c 環境中,雙精度浮點數範圍的由來

時間 2022-03-08 15:40:11

1樓:匿名使用者

簡單來說吧,如果我有5個位置,能放0-9,那麼我能用這5個位置表示多大的數呢.

直觀的想法當然是99999,但如果我只對數處在哪個數量級感興趣的話,我就可以用類似科學計數法來表示數.比如9.99x10的99次方,或是9.9x10的999次方,那樣就可以表示很大的數了.

計算機中的浮點數就是用了類似的原理,只不過它表示的是a乘以2的b次方,而不是10的冪.

2樓:匿名使用者

樓上的"榜眼"一說,讓我頓悟啊!

我怎麼以前就沒有樓主的這個想法呢!

謝謝lz!

3樓:匿名使用者

實型變數

1. 實型資料在記憶體中的存放形式

實型資料一般佔4個位元組(32位)記憶體空間。按指數形式儲存。實數3.14159在記憶體中的存放形式如下:

+ .314159 1

數符 小數部分 指數

 小數部分佔的位(bit)數愈多,數的有效數字愈多,精度愈高。

 指數部分佔的位數愈多,則能表示的數值範圍愈大。

2. 實型變數的分類

實型變數分為:單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。

在turbo c中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.4e+38,只能提供七位有效數字。

雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為1.7e-308~1.7e+308,可提供16位有效數字。

型別說明符 位元數(位元組數) 有效數字 數的範圍

float 32(4) 6~7 10-37~1038

double 64(8) 15~16 10-307~10308

long double 128(16) 18~19 10-4931~104932

實型變數定義的格式和書寫規則與整型相同。

例如:float x,y; (x,y為單精度實型量)

double a,b,c; (a,b,c為雙精度實型量)

浮點數的精度和範圍區別是什麼,浮點數所能表示的數值範圍和精度取決於什麼

牽青芬所己 它們在記憶體中所佔的位元組不同,乙個是4位元組,乙個是8位元組,因此表示的有效位數,雙精度比單精度要大得多!上面說的是一般的c語言,如果是微控制器等,依不同的情況有所不同,如pic16微控制器有的是單精度為3位元組,雙精度為4位元組。 柏蘭雀俏 區別如下 浮點數的取值範圍由階碼的位數決定...

浮點數所能表示的數值範圍和精度撒於什麼

smile灬微光丶 浮點數所能表示的數值範圍和精度取決於階碼和尾數。階碼 採用指數的實際值加上固定的偏移值的辦法表示浮點數的指數,好處是可以用長度為 個位元的無符號整數來表示所有的指數取值,這使得兩個浮點數的指數大小的比較更為容易,實際上可以按照字典序比較兩個浮點表示的大小。這種移碼錶示的指數部分,...

關於浮點數在C語言中的儲存問題,C語言實型 浮點型 資料在記憶體中的存放形式

寫c 2.468f就可以。浮點數常量預設是double型。你直接寫2.468會強轉型。c語言實型 浮點型 資料在記憶體中的存放形式 實數分為float型和double型,它們分別對應ieee 754標準中的單精度浮點數和雙精度浮點數型別,在記憶體中的儲存形式遵守ieee 754浮點數標準。以floa...