c語言中float和double各代表什麼含義,有什麼區別

2021-04-20 14:01:37 字數 1211 閱讀 2967

1樓:匿名使用者

都屬於浮點來數 也就

是小數源

但精度不同 可以bai取值的範圍dudouble要比float大所佔記憶體位數也不zhi同

32位機來講

float 佔 4位元組

dao double 佔8位元組

隨便啦 一般的精度 float夠用了 不過大部分情況都宣告為double

主要是因為常小數值 系統識別為double 這樣在計算時 免去型別轉化

減小錯誤

2樓:匿名使用者

float double在c語言當中都抄是浮點數它們之間區別就是精度不同

double 精度為最高15位 小數點後6位float 精度為最高6,7位小數點後6位所佔位元組數自然也不相同 一般環境中double佔float兩倍空間

請問c語言中的float和double型別有什麼區別?什麼叫做單精度和雙精度?

3樓:碧血玉葉花

c語言中 單精度型

和bai雙精度型 指兩種du 型別 的 浮點數zhi

。單精度型dao 即回 float 型, 有效數字約10進位制答7位

雙精度型 即 double 型, 有效數字約10進位制15位

所以能描述的數值精度不同。

c語言 資料 用 ieee 754 國際標準。float 型 用 4 位元組存放,double 型 用 8 位元組存放。

single precision 2進位制: 數符1位,指數8 位,尾數 23 位

double precision 2進位制: 數符1位,指數11 位,尾數 52 位

單精數值範圍: ± ~10的-44.85次方 到 約 10的38.53次方

雙精度數值範圍 ± ~10的-323.3 次方 to 約 10的 308.3次方。

float a=1.234567;

double b=1.2345678901234;

-------------

10%3 整除取餘數,得 1。

1 用 float 和 double 表示,精度沒有區別。 a=(float)(10%3); b=(double)(10%3);

強制轉換 要帶 小括號。

4樓:某某匿名網友

sizeof(float)是4,sizeof(double)是8,精度高,有效數字多

c語言中float與int用法有什麼區別

樓主問復的是用法的區別.int 是精製確的整數,因此相關的數學常識都可以在int上得到實現 float 是不精確的浮點數,因此很多要求精確的數學常識在float上不成立.舉例 假設 a b c 都是 int 那麼 a b c 和 c b a 的結果永遠是相等的 哪怕溢位了也相等 而如果 a b c ...

c語言中float型轉換成int型是什麼規則

1 c語言整型使用原碼 反碼 補碼進行編碼,而浮點型使用ieee754進行編碼,所以強制轉換基本上是沒有任何意思的,因為編碼格式不一樣。2 正確的作法是使用c語言標準庫中的floor和ceil函式來進行向下或者向上取整。比如 include include int main 結果 up 2 down...

c語言中怎麼將整形陣列轉化為float或者

int convert int a,int n n為陣列bai 元素個du數 為啥不直接zhi存到char 陣列呢?include include int main int k 0,i 0,len 0,tmp 0 len sizeof a sizeof a 0 for i 0 idaok a i i...