1. 在c語言中,如何表示實數啊是用float還是double,倆者有什麼不一樣嗎一般定義實數用哪
摘要 親您好,在標准C語言中,浮點數有單精度浮點數(float)和雙精度浮點數(double)兩種,有的C版本還支持第三種長雙精度浮點數(long double).
2. 在c語言中,如何表示實數啊是用float還是double,倆者有什麼不一樣嗎一般定義實數用哪個那復數呢
在標准C語言中,浮點數有單精度浮點數(float)和雙精度浮點數(double)兩種,有的C版本還支持第三種長雙精度浮點數(long double)。解決方法如下:
1、首先,定義一個雙精度數n,用來保存被除數。
3. C語言中什麼是實型數
C語言中的實型數據是指帶有小數的數。
實型數據分兩類:單精度和雙精度float和double在內存中佔用的位元組:float佔用4個位元組,double佔用8個位元組。
整型的變數是沒有小數點的,實型是有小數點的整型你可以理解為整數,5:5就是整型常量。不是實型包含整型,實型和整型是不同的類型,它們在內存中的存儲方式是不。
(3)c語言實數是什麼形式擴展閱讀:
C語言四種基本數據類型:
1、基本類型
short、int、long、char、float、double 這六個關鍵字代表C 語言里的六種基本數據類型。
2、派生數據類型
派生數據類型是具有相同數據類型,並且按照一定順序排列的一組變數的集合。
3、指針類型
指針是一個特殊的變數,它裡面存儲的數值被解釋成為內存里的一個地址。
4、空類型
空類型表示一種未知的類型,不能表示一個真實的變數。
4. C語言 關於實數
整形,也就是int表示。
5/9計算機也是用整形來除的,如果你有計算機組成原理的基礎就很好理解,
如果沒有,你可以如下簡單理解:
5/9 = 0.555.…………但是結果是用整形來保存,所以後面的小數計算機並不知道,於是只有第一位,那就是0
5. c語言中實數的兩種表現形式是什麼
在c語言中,實數有兩種表示形式,即浮點型和指數型
6. 能不能給我講講C語言中實數的二進制形式,是怎樣存儲的
實數也就是小數的存儲,小數的存儲是IEEE754標准存儲的,以C語言為例float類型佔32位,double類型佔64位,以float類型來說,這32位的float有1位表示小數的符號,8位表示指數,23位表示底數。換句話說,你可以使用一種叫位域的結構來定義它們。比如
structbit_float{
ints:1;
inte:8;
intm:23
};
如果使用c++則可以使用 bitset的標准類庫模板來進行操作。
7. 能不能給我講講C語言中實數的二進制形式,是怎樣存儲的
1、float類型數字在計算機中用4個位元組(32位)存儲。
遵循IEEE-754格式標准:
一個浮點數由3部分組成:符號位s(1位)和、指數e(8位)、底數m(23位)
2、格式
SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
S:符號位
E:指數,十進制指數加上127後的值得二進制數據
M:底數
3、符號位
指底數的符號,可正可負。
4、指數
佔用8bit的二進制數,可表示數值范圍為0-255。
但是指數可正可負,所以,IEEE規定,此處算出的次方必須減去127才是真正的指數。
所以,float類型的指數可從-126到128
5、底數
實際是佔用24bit的一個值,但是最高位始終為1,所以,最高位省去不存儲,在存儲中佔23bit
科學計數法。
再舉一例:
17.625在內存中的存儲
首先要把17.625換算成二進制:10001.101
在將10001.101右移,直到小數點前只剩1位:
1.0001101 * 2^4 因為右移動了四位
底數:因為小數點前必為1,所以IEEE規定只記錄小數點後的就好。所以,此處的底數為:0001101
指數:實際為4,必須加上127(轉出的時候,減去127),所以為131。也就是10000011
符號:整數,所以是0
綜上所述,17.625在內存中的存儲格式是:
01000001 10001101 00000000 00000000
8. C語言整數型和實數型有什麼區別
C語言整型數和實型數最在的區別在於編碼方式上。
1、整型數一般使用原碼、反碼、補碼三種編碼方式。
原碼:即用第一位表示符號, 其餘位表示值. 比如如果是8位二進制:
1的原碼=0000 0001 //最左側的最高位是符號位,0表示正數
-1的原碼=1000 0001 //最左側的最高位1表示負數
反碼:即在原碼的基礎上符號位不變,其它各位求反。
-1的反碼=1111 1110 //注意符號位不變
補碼:即在反碼的基礎上,再加1
-1的補碼=1111 1111
2、實數型一般使用的是IEEE754編碼方式。IEEE754中規定了實數符號位、指數位和尾數位,即有效數字位所佔的二進制位數,具體如下:
格式 長度 符號位 指數位 尾數位 有效位數 指數偏移 尾數說明
單精度 32 1 8 23 24 127 有一位隱含位
雙精度 64 1 11 52 53 1023 有一位隱含位
擴展雙精度 80 1 15 64 64 16383 沒有隱含位
注意:擴展雙精度格式沒有隱含位,因此它的有效位數與尾數位數一致,而單精度和雙精度格式均有一位隱含位,因此它們的有效位數比尾數位數多1。
9. C語言,實數指數形式
C語言中在庫函數里的指數形式:其數值部分是一個小數,小數點前的數字是零,小數點後的第一位數字不是零。一個實數可以有多種指數表示形式,但只有一種屬於標准化指數形式。
一個實數在用指數形式輸出時,是按規范化的指數形式輸出的。
例如,指定實數5689.65按指數形式(%e格式)輸出,輸出的形式只能是5.68965e+003,而不會是0.568965e+004或56.8965e+002.
規范化指數形式本來是1.23456e3的,而在C語言編程(譚浩強著)的書上說實型數據在內存中以規范化指數形式存放,且小數部分是0.123456(十進製表達),而不是1.23456.
其實:1.23456要二進制存放需分別存整數部和小數部,而0.123456則只需存小數部,這樣在佔用相同位元組的情況下,後一種方法可容納更大精度的浮點數.具體用法:
在預處理命令處包含:#include <math.h>(math頭文件)。
例如:10的n次方,其中n為指數:
int n,result;
scanf("%d",n);
result=pow(10,n);