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語言中整型變數所佔位元組數
您好,是在准備等級考試嗎?加油哦!
其實,編譯系統分配給int型數據(也就是整型變數)的儲存單元是由具體的C編譯系統自行決定的,有的是2個位元組,有的是4個位元組。例如Turbo
C
2.0
就是2個位元組,而Visual
C++
中是4個位元組。
二級C語言的軟體環境是Visual
C++
6.0
故是四個位元組
ps:
在Visual
C++
6.0中,為short
int型,即短整型,分配了2個位元組。
希望能夠幫到您,碼字辛苦,望採納!謝謝O(∩_∩)O
Ⅲ C語言中怎樣判斷一個數是幾位數,看代碼謝謝!
這里你定義的n是int型,C語言中int型的范圍是-2147483648~2147483647。如果要判斷10位以上,至少應該將n定義為long型。
Ⅳ C語言中一個英文字母.漢字.數字 分別都占幾個位元組啊
1、英文字母:如果是char 型,那麼是佔用1個位元組,如果是string型,應該是兩個。
char c = 'a';//它佔用一個字元
char c[] = "a";//佔用兩個。
char c[] = "abcde";//佔用4+1 = 5 個,結尾有一個'