㈠ c語言中的 單精度型 和雙精度型是什麼意思
1、單精度和雙精度都指浮點數,就是帶小數點的數
2、單精度數的有效位數比較少,7位左右,雙精度的在幾十位。
3、單精度定義是用float
4、雙精度定義是用double
比如:
#include <math.h>
main(){
float pi_f = M_PI;
double pi_d = M_PI;
printf("%E,",pi_f);
printf("%E",pi_d);
}
㈡ c語言中,常量,變數,浮點,單精度,雙精度是什麼意思舉例
實型常量又稱實數或浮點數。在C語言中可以用單精度型和雙精度型兩種形式表示實型常量,分別用類型名float和double進行定義。
實型常量在一般的微型集中佔用4個位元組,一般形式或者指數形式,數值范圍都是-1038~1038,有效數字是7位。
浮點型數據又分為單精度型(float)和雙精度型(double)兩種。
1、單(float):佔用比特數32,有效數位6-7,數值范圍(-3.4e-38~3.4e+38)
2、雙(double):佔用比特數64,有效數位15-16,數值范圍(-1.7e-308~1.7e+308)
(2)c語言中的雙精度型變數是什麼擴展閱讀
c語言中,數據類型分為整形、實型和指針類型(以下內容均表示在32位操作系統中):
其中整形分為char,shortint,longint,longlong,各種類型的使用,前面都可以加上unsigned表示無符號char字元類型,表示的大小為-128~127,大小為一個位元組;
其中0-127被編為ASCⅡ碼shortint短整形-65536~655352個位元組longint整形-20億多~20億多4個位元組longlong長整型8個位元組longint通常寫為int代表的是CPU字長;
在32為操作系統中cpu的字長是32位,即4個位元組實行(浮點型)分為float和double:float6~7位有效數字4個位元組double15~16位有效數字8個位元組在現代CPU中,有一個協處理器專門進行浮點數的運算;
然後根據類型進行精度截取指針類型32位無符號整數,即unsignedint,但是它只能表示內存中一個比特的空間的編號註:32位CPU的內存定址范圍是從32個0到32個1,總計4GB,所以,32位操作系統最高只支持4G內存。
㈢ c語言中什麼是單精度型和雙精度型各舉個例子。。。
單精度型和雙精度型的區別在於它們的精確程度不一樣,也就是小數部分的有效位數不一樣。
單精度數(float型)在32位計算機中存儲佔用4位元組,也就是32位,有效位數為7位,小數點後6位;雙精度數(double型)在32位計算機中存儲佔用8位元組,也就是64位,有效位數為16位,小數點後15位。
比如3.1415926535897932384這個小數,如果定義成float型,那麼只會留下小數點後5位,也就是3.141592,如果定義成double型,那麼只會留下小數點後15位,也就是3.141592653589793。
(3)c語言中的雙精度型變數是什麼擴展閱讀
計算機的數都是以二進制進行存儲。無論是單精度浮點數還是雙精度浮點數,在計算機上的存儲都遵循IEEE 754規范,使用二進制科學計數法。
二進制科學計數法包含三個部分:符號位,指數位和尾數部分。單精度數的符號位,指數位和尾數部分分別為1,8,23,而雙精度為1,11,52。
而單雙精度中的精度就主要取決於尾數部分的位數。float的尾數尾數為23位,除去全部為0的情況以外,最小為2的-23次方,因此float小數部分只能精確到後面6位。類似的,double尾數位數為52,最小為2的-52次方,因此只能精確到小數點後15位。
㈣ C語言中單精度型變數與雙精度型變數有什麼區別
編譯系統為每一個單精度變數分配4個位元組,數值以規范化的二進制數形式存放在儲存單元中,其數值范圍為-3.4E-38~3.4E38。為了擴大能表示數值范圍,用八個位元組儲存一個雙精度型變數,可以得到15位有效數字,范圍為-1.7E-308~1.7E308
㈤ C語言中單精度浮點數和雙精度分別如何表示有什麼差別
C語言中,單精度浮點型為float, 雙精度浮點型為double。
Float為單精度,內存中佔4個位元組,有效數位是7位(因為有正負,所以不是8位),在我的電腦且VC++6.0平台中默認顯示是6位有效數字。
double為雙精度,佔8個位元組,有效數位是16位,但在我的電腦且VC++6.0平台中默認顯示同樣是6位有效數字。
二者區別:
佔用位元組空間不同。
一個float變數佔用四位元組,一個double類型變數,一般佔用8位元組。表示範圍不同。
float表示範圍為-3.4E-38~3.4E+38。double 表示範圍為-1.7E-308~1.7E+308。
精度不同。
float在表示十進制時,有效數字為6到7位。double在表示十進制時,有效數字為15到16位。輸入輸出格式不同。
在C語言中,輸入輸出格式化字元串,float使用%f,而double使用%lf。
㈥ c語言中double是什麼意思
double(雙精度浮點型)是計算機使用的一種資料型別。比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進制的15或16位有效數字,負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308
在C語言中, double 輸入輸出使用格式字元%lf
㈦ c語言數據類型中「雙精度」「單精度」是什麼意思
雙精度,單精度指浮點型數,
雙精度 叫 double 型, 單精度 float 型。
double 型 用 64位2進制存放,float 型 用 32位2進制存放。
所以,兩種數 的 最大和最小 數值范圍 不同,數的有效數字個數不同,也就是精度不同。
double 型 最大數值 1.7976931348623158e+308
最小正數數值 2.2250738585072014e-308
有效數字 十進制 15 位。
float 型
最大數值 3.402823466e+38F
最小正數數值 1.175494351e-38F
有效數字 十進制 6-7 位。
詳細定義 見編譯器 頭文件 float.h
㈧ c語言里單精度和雙精度怎麼理解
單精度和雙精度顧名思義是兩種精度的不同劃分,單精度float是保證7位有效數字,double是保證16位有效數字。
例:(float)(10%3)
結果是1.000000即七位有效數字,(後面不一定全是0,計算機可隨機選擇數字,所以整數1不等於float或double的1)
(double)(10%3)
同理結果是:1.XXXXXXXXXX……後面有十五位的有效數字
雖然整數位都是1,但由於有效位數不同,即後面隨機派出的小數可能不同,所以二者理論上不同,實際比較不能用==,要用fabs()<1e-6.