❶ c語言中單精度和雙精度浮點型數據的數值范圍是多少怎麼算出來的請大蝦幫忙了!
今天看書也是發現了這個問題但是網路一番網上並沒有想要的答案,思索後得出結果,首先浮點型是32位精度 有一個符號位8個指數位23個尾數位
關於精度的計算單精度8位階碼,1位符號,剩下23位尾數,算出2的負23次方,得到0.00000011920928955078125
前面0有多少個,就表示能精確到那一位,所以精度為6提供七位有效數字
雙精度11位階碼,1位符號,剩下52位尾數,算出2的負52次方,得到0.
所以精度為15,提供16位有效數字。
然後關於范圍的計算:范圍是指數位控制的,指數位為8,有效為為7(這里涉及到余碼,有興趣的同學可以查看相關資料)所以最大范圍為2^7=128 這里是指數部分 化為十進制則為
2^128=3.402823669384635E38
所以范圍為3.4E-38~3.4E+38
double同理
❷ C語言中e表示什麼意思
e表示以10為底。
比如int a=10e2表示10的2次方,這是c語言中科學計數法的表示方法
❸ c語言中怎樣用e表示指數例如1.2345 和10000 0.00001
字母e或E之前必須有數字,e或E後面的指數必須為整數,例如,e3,2.1e3.5,e都是不合法的指數形式。
1、指數(E之後的數)必須為整數,正負均可;e/E之前必須有數字。
如:12345=1.2345*10^4表示為1.2345e4
2、函數表示為pow(x,y) 表示x的y次方。
(3)c語言中E後面數字取值范圍擴展閱讀:
注意事項
頭文件:#include
函數原型:double pow(double x,double y);
函數解釋:求x的y次方。
相關函數:float powf(float x,float y);
long double powl(long double x,long double y);
作用都是求指數,只是參數和返回值的類型不同。
註:如果要求自然對數的底e的指數,可以使用函數exp().
exp()的頭文件:#include
exp()的函數原型:double exp(double x);
exp()函數的作用:返回e的x次方。
exp()的相關函數:float expf(float x);
long double expl(long double x);
註:自然對數的底e叫做: 歐拉數(eula's number)
❹ 在c語言中,實數的指數格式裡面,2.3e這種形式是對的嗎書上定義裡面說e的後面應該跟1到3位的整
e後面的整數代表指數,如果後面沒有數字,嚴格來說應該是不規范的。在數據內部轉換的時候,用來存放指數的那部分位元組被初始化為0之後,就不會被重新賦值,因為e後面什麼也沒有。所以最終數據是:e之前的數據x10的(e之後整數)的次方。猶豫後面什麼也沒有,那就是10的0次方了
❺ c語言問題 浮點數中e前後能是負數嗎
(1)
例如:
double a = -19e-10;
實際表示 -1.9e-9
所以說e的前面 後面 都能為負數。
(2)前面可以為小數點。 但後面必須是整數。
❻ C語言各個數據類型取值范圍
C語言的數據基本類型分為字元型、整型、長整型以及浮點型,取值范圍如下:
c語言中關於變數的取值范圍的計算方法:
1、使用函數的返回值。將函數計算出的變數作為返回值返回給其它函數使用。
2、使用函數的參數。將函數參數設置為引用傳遞而不是值傳遞,就可以把函數計算出的變數通過此參數給其它函數使用。
3、使用全局變數。將函數計算出的值保存到全局變數中,其它函數就可以使用了。
(6)c語言中E後面數字取值范圍擴展閱讀
C語言運算中的數據類型自動轉換原則
1、隱式轉換
C語言在以下四種情況下會進行隱式轉換:
(1)算術運算式中,低類型能夠轉換為高類型。
(2)賦值表達式中,右邊表達式的值自動隱式轉換為左邊變數的類型,並賦值給它。
(3)函數調用中參數傳遞時,系統隱式地將實參轉換為形參的類型後,賦給形參。
(4)函數有返回值時,系統將隱式地將返回表達式類型轉換為返回值類型,賦值給調用函數。
2、算數運算的隱式轉換
算數運算中,首先有如下類型轉換規則:
(1)字元必須先轉換為整數(C語言規定字元類型數據和整型數據之間可以通用)。
(2)short型轉換為int型(同屬於整型)。
(3)float型數據在運算時一律轉換為雙精度(double)型,以提高運算精度(同屬於實型)。
其次,有下面的規則。
當不同類型的數據進行操作時,應當首先將其轉換成相同的數據類型,然後進行操作,轉換規則是由低級向高級轉換。