1. c語言中數據的精度是什麼意思
c語言中:
float浮點數7位有效數字。
double雙精度數16位有效數字。
單精度數的尾數用23位存儲,加上默認的小數
點前的1位1,2^(23+1) = 16777216。因為 10^7 < 16777216 <
10^8,所以說單精度浮點數的有效位數是7位。 雙精度的尾數用52位存儲,2^(52+1) = 9007199254740992,10^16
< 9007199254740992 < 10^17,所以雙精度的有效位數是16位
單精度浮點數的實際有效精度為24
位二進制,這相當於 24*log102≈7.2
位10進制的精度,所以平時我們說「單精度浮點數具有7位精度」。(精度的理解:當從1.000...02變化為1.000...12時,變動范圍為
2-23,考慮到因為四捨五入而得到的1倍精度提高,所以單精度浮點數可以反映2-24的數值變化,即24位二進制精度)
浮點數7位有效數字。(應該是單精度數)
雙精度數16位有效數字。
浮點數取值范圍:
負數取值范圍為 -3.4028235E+38 到 -1.401298E-45,正數取值范圍為 1.401298E-45 到 3.4028235E+38。
雙精度數取值范圍:
負值取值范圍-1.79769313486231570E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.79769313486231570E+308。
所以精度是測量值與真值的接近程度。包含精密度和准確度兩個方面精度的等級是以它的允許誤差占表盤刻度值的百分數來劃分的,其精度等級數越大允許誤差占表盤刻度極限值越大。量程越大,同樣精度等級的,它測得壓力值的絕對值允許誤差越大。
精度
經常使用的的精度為 2.5 、1.5 級,如果是1.0和0.5級的屬於高精度,現在有的數字已經達到0.25級。
2. 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
3. c語言編程問題請教,關於數據類型精確度問題;
他本來就是個單精度數 他表示範圍大 那是為了和int 區別的 可以在一定的方面更好應用 如果你要好的精度可以用double啊 或者自己定義啊 數據類型的都是個有自己的用處的
4. C語言數據類型小數精度問題!!!急
涉及到雙精度浮點數在內存中的實現過程。雙精度浮點數有三個部分,符號位、11位階碼、52位尾數。在做乘100之類的操作時,由於階碼增大,尾數要右移,會造成精度丟失。簡單來說,此時內存中存儲的數字是9.9999999......,但輸出到屏幕上時,由於保留6位,顯示為10.000000。而浮點數轉整數類型時只保留整數部分,因此9.999999......強制類型轉換後等於9。
要解決這個問題,可以人工四捨五入,即輸出(long)(TEM+0.5)的值
5. c語言所提供的基本數據類型包括:單精度型、雙精度型、()、()和()
字元型,整型,長整型
6. c語言數據類型為何是雙精度型
為何是雙精度? 因為實際需要,一些大型的計算需要很高的精確度!數據類型不全用雙精度,就是節省內存空間,別浪費!我自己的理解是這樣的.
7. C語言的數據類型
C語言的類型轉換和運算都是對一個具體運算符而言的
(float)c=5.0/2 一共有3個運算:
第一步計算5.0/2 ,得到2.5;
第二步計算c=2.5,因為c是整型,得到2
第三步類型轉換,得到2.000000
8. C語言中各種數據類型有什麼區別
1、數據計算類型不同。
基本數據類型分為三類:整數型(定點型)、實數型(浮點型)和字元型。除了基本數據類型,還有構造類型(數組、結構體、共用體、枚舉類型)、指針類型、空類型void。
2、各種數據類型的關鍵詞不同。
short、long、int、float、double、char六個關鍵詞表示C語言里六種基本數據類型。
3、不同數據類型佔用內存的大小不同。
short佔2byte,int佔4byte,long佔4byte,float佔2byte,double佔8byte,char佔1byte(不同的平台可能佔用內存大小不一樣,具體的可以用sizeof 測試下)。
(8)C語言的數據類型和精度擴展閱讀
不同類型數據間的類型轉換
一、自動類型轉換
在C語言中,自動類型轉換遵循以下規則:
1、若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。
2、轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。若兩種類型的位元組數不同,轉換成位元組數高的類型 ,若兩種類型的位元組數相同,且一種有符號,一種無符號,則轉換成無符號類型。
3、所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。
4、char型和short型參與運算時,必須先轉換成int型。
5、在賦值運算中,賦值號兩邊量的數據類型不同時,賦值號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四捨五入向前舍入。
二、強制類型轉換
強制類型轉換一般格式如下:
(類型名)(表達式)
這種強制類型轉換操作並不改變操作數本身。
9. 如何編程驗證C語言中各類型數據的取值范圍和精度
再推薦一個文章給你看,更詳細的。認真讀完,就知道了。要有耐心啊,比較長。 --- 浮點數分為單精度(float)和雙精度(double),根據IEEE754標准,float類型在計算機內部存儲佔4位元組,double類型佔8個位元組。 無論是單精度還是雙精度在存儲中
10. C語言的數據類型分為幾種
short、int、long、char、float、double
這六個關鍵字代表C 語言里的六種基本數據類型。
在不同的系統上,這些類型占據的位元組長度是不同的:
在32
位的系統上
short
占據的內存大小是2 個byte;
int占據的內存大小是4
個byte;
long占據的內存大小是4
個byte;
float占據的內存大小是4
個byte;
double占據的內存大小是8
個byte;
char占據的內存大小是1
個byte。
具體可以用sizeof測試一下即可。
(10)C語言的數據類型和精度擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。