『壹』 能不能給我講講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
『貳』 C語言中,實數在用指數形式輸出時是按規范化形式輸出的。
這基桐大是他的默認格式搏豎輪舉 你可以改的嘛! 比如_set_output_format(_TWO_DIGIT_EXPONENT);
『叄』 C語言中什麼是實型數
C語言中的實型數據是指帶有小數的數。
實型數據分兩類:單精度和雙精度float和double在內存中佔用的位元組:float佔用4個位元組,double佔用8個位元組。
整型的變數是沒有小數點的,實型是有小數點的整型你可以理解為整數,5:5就是整型常量。不是實型包含整型,實型和整型是不同的類型,它們在內存中的存儲方式是不。
(3)c語言實數規范形式為擴展閱讀:
C語言四種基本數據類型:
1、基本類型
short、int、long、char、float、double 這六個關鍵字代表C 語言里的六種基本數據類型。
2、派生數據類型
派生數據類型是具有相同數據類型,並且按照一定順序排列的一組變數的集合。
3、指針類型
指針是一個特殊的變數,它裡面存儲的數值被解釋成為內存里的一個地址。
4、空類型
空類型表示一種未知的類型,不能表示一個真實的變數。
『肆』 在c語言中,如何表示實數啊是用float還是double,倆者有什麼不一樣嗎一般定義實數用哪個那復數呢
在標准C語言中,浮點數有單精度浮點數(float)和雙精度浮點數(double)兩種,有的C版本還支持第三種長雙精度浮點數(long double)。解決方法如下:
1、首先,定義一個雙精度數n,用來保存被除數。
『伍』 C語言 標准化指數形式 規范化指數形式
指數形式是浮點數的一種表示方法。
一、在C語言中,浮點數,包括float和double類型,有兩種表示方法:
1、實數形式,即1.23這樣整數部分加小數部分的表示方式;
2、指數形式,即科學計數法。
其形式為:
aEb
代表a乘10的b次冪。 E也可以是小寫,b必須為整數。
二、指數形式只是浮點數的一種表示方法,任何一個浮點數,都有實數形式和指數形式。
如:
12345.6 和1.23456E4是完全相同的。 所以,不存在轉換為指數形式。
三、指數形式輸出:
在輸出的時候,可以指定浮點數輸出為指數形式,格式為%e或%E, 區別為輸出的指數形式浮點數E為小寫或者大寫。
如:
printf("%e", 100000.0);
會輸出1.000000e+05。
(5)c語言實數規范形式為擴展閱讀
1、指數形式只是浮點數的一種表示方法,任何一個浮點數,都有實數形式和指數形式。
.2、在輸出的時候,可以指定浮點數輸出為指數形式,格式為%e或%E, 區別為輸出的指數形式浮點數E為小寫或者大。
『陸』 c語言中實數的兩種表現形式是什麼
在c語言中,實數有兩種表示形式,即浮點型和指數型
『柒』 c語言簡單數據類型有哪些
C語言的基本數據類型為:整型、字元型、實數型。
這些類型按其在計算機中的存儲方式可被分為兩個系列,即整數(integer)類型和浮點數(floating-point)類型。
這三種類型之下分別是:short、int、long、char、float、double 這六個關鍵字再加上兩個符號說明符signed和unsigned就基本表示了C語言的最常用的數據類型。
下面列出了在32位操作系統下 常見編譯器下的數據類型大小及表示的數據范圍:
『捌』 C語言中標准化指數形式和規范化指數形式的區別是什麼
所謂「標准化指數形式」是指這樣的指數:其數值部分是一個小數,小數點前的數字是零,小數點後的第一位數字不是零。一個實數可以有多種指數表示形式,但只有一種屬於標准化指數形式。
一個實數在用指數形式輸出時,是按規范化的指數形式輸出的。例如,指定實數5689.65按指數形式(%e格式)輸出,輸出的形式只能是5.68965e+003,而不會是0.568965e+004或56.8965e+002.
規范化指數形式本來是1.23456e3的,為什麼譚浩強的書上說實型數據在內存中以規范化指數形式存放,且小數部分是0.123456(十進製表達),而不是1.23456呢?其中有人這樣回答:1.23456要二進制存放需分別存整數部和小數部,而0.123456則只需存小數部,這樣在佔用相同位元組的情況下,後一種方法可容納更大精度的浮點數.
一種觀點:C語言中的「標准化指數形式」和 「規范化的指數形式」 應該是不同的概念,「標准化指數形式」用於在存儲,「規范化的指數形式」用於輸出。
『玖』 C語言實型(浮點型)數據在內存中的存放形式
實數分為float型和double型,它們分別對應IEEE 754標准中的單精度浮點數和雙精度浮點數類型,在內存中的存儲形式遵守IEEE 754浮點數標准。以float類型數據為例,3.14159表示成二進制為11.0010010000111111001111......,規格化後表示為1.10010010000111111001111×2^1(小數點後保留23位有效數字,因為IEEE 754標准規定的尾數為23位);指數為1,故階碼為1+127=128=10000000;這是一個正數故符號位為0,因此它在內存中的表示形式是0 10000000 10010010000111111001111,寫成16進制為40490FCF。
『拾』 c語言以下選項中合法的實型常數
5E2.0 : 錯在2.0上
E-3 : E前必須有數字
long :關鍵字,不能做標識符
3Dmax : 不能以數字開頭
A.dat : "."為非法字元
在C語言中,實數有兩種表示形式:十進制數形式與指數形式。
一般形式的實數:小數形式的實數由整數部分、小數點和小數部分組成(必須要有小數點)。
指數形式的小數:指數形式的實數由尾數部分、e(E)和指數部分組成(字母e或E的前後必須要有數字,且其後面的指數必須為整數)。選項A中,5E2.0中E後面的2.0不是整數;選項B中,E前面沒有數字;選項D中,E後面沒有數字。
(10)c語言實數規范形式為擴展閱讀:
尾數部分可以是十進制整數或一般形式的十進制實數,指數部分是十進制的短整數(可以帶「+」號或「-」號)。數的正負用前面的「+」(可以省略)號或「-」號來區分。
指數形式的實數它的數值可以用公式計算:尾數*10指數。
這種形式類似數學中的指數形式。在數學中,一個可以用冪的形式來表示,如2.3026可以表示為0.23026×10^1 2.3026×10^0 23.026×10^-1等形式。在C語言中,則以「e」或「E」後跟一個整數來表示以「10」為底數的冪數。2.3026可以表示為0.23026E1、2.3026e0、23.026e-1。
C語言語法規定,字母e或E之前必須要有數字,且e或E後面的指數必須為整數。如e3、5e3.6、.e、e等都是非法的指數形式。注意:在字母e或E的前後以及數字之間不得插入空格。