91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言菜鳥基礎教程之單精度浮點數與雙精度浮點數

發布時間:2020-10-12 13:53:29 來源:腳本之家 閱讀:291 作者:翡翠森林Z 欄目:編程語言

上節課 簡單介紹了浮點數。計算機程序中的浮點數分為單精度浮點數和雙精度浮點數。

單精度和雙精度精確的范圍不一樣。

計算機里的最基本的存儲單位用位(bit)來表示。bit只能用來存儲0或1。
稍大一點的單位是字節(Byte,簡寫為B)。
再大一級的是千字節(kilo Bytes),用k來表示。
再大一級的單位是兆字節(Mega Bytes),用M來表示。一張照片的大小通常為1~3M。
再大一級的單位為G。一部高清電影的大小通常為1~2G。
再大一級的單位為T。

換算關系為:

1B = 8bit
1k = 1024B = 2^10 B
1M = 1024k = 2^20 B
1G = 1024M = 2^30 B
1T = 1024G = 2^40 B

單精度(float)在計算機中存儲占用4字節,32位,有效位數為7位(6位小數+小數點)。
雙精度(double)在計算機中存儲占用8字節,64位,有效位數為16位(15位小數+小數點)。
不管是float還是double,在計算機中的存儲都遵循IEEE規范,使用二進制科學計數法,都包含三個部分:符號位、指數位和尾數部分。其中float的符號位、指數位(即整數部分)、尾數部分分別為1, 8, 23。雙精度則分別為1, 11, 52。

C語言菜鳥基礎教程之單精度浮點數與雙精度浮點數

float

C語言菜鳥基礎教程之單精度浮點數與雙精度浮點數

double

精度主要取決于尾數部分的位數,float為23位,最小為2的-23次方,約等于1.19乘以10的-7次方,所以float小數部分只能精確到后面6位,加上小數點算做一位,即有效數字為7位。
類似,double 尾數部分52位,最小為2的-52次方,約為2.22乘以10的-16次方,所以精確到小數點后15位,有效位數為16位。

程序驗證:

#include <stdio.h>

int main()
{

  float a = 1.123456789;
  printf("a = %20.9f\n", a);
  
  double b = 2.123456789;
  printf("b = %20.9f\n", b);
  
  return 0;
}

注意:這里%20.9f表示浮點數總共有20位,其中小數占9位。不足20位的部分,左側用空格來填充。

運行結果:

a =     1.123456836
b =     2.123456789

從運行結果可以看出,單精度浮點數小數部分只有前6位是準確的,后三位是不準確的。雙精度小數部分9位都是準確的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合阳县| 连州市| 太原市| 庆元县| 扶风县| 敦煌市| 内丘县| 三江| 兰州市| 桐城市| 清苑县| 集安市| 隆林| 乡城县| 潜山县| 巴中市| 阳江市| 黔南| 松溪县| 凤冈县| 锡林浩特市| 苍山县| 平顶山市| 丰原市| 通化县| 陆丰市| 邻水| 勐海县| 巴青县| 彰化县| 唐山市| 淮南市| 威海市| 绥中县| 凤城市| 天津市| 永寿县| 马龙县| 乳山市| 杂多县| 柘荣县|