<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 4.C語言實型數據 實型也稱為浮點型。實型常量也稱為實數或者浮點數。在C語言中,實數只采用十進制。它有二種形式:十進制小數形式和指數形式。 1) 十進制數形式 由數碼0~ 9和小數點組成。例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均為合法的實數。 注意,必須有小數點。 2) 指數形式 由十進制數,加階碼標志“e”或“E”以及階碼(只能為整數,可以帶符號)組成。其一般形式為: ? ? a E n(a為十進制數,n為十進制整數) 其值為 a*10n。如: 2.1E5 (等于2.1*105) 3.7E-2 (等于3.7*10-2) 0.5E7 (等于0.5*107) -2.8E-2 (等于-2.8*10-2) 以下不是合法的實數: 345 (無小數點) E7 (階碼標志E之前無數字) -5 (無階碼標志) 53.-E3 (負號位置不對) 2.7E? (無階碼) 標準C允許浮點數使用后綴。后綴為“f”或“F”即表示該數為浮點數。如356f和356.是等價的。 【例3-5】說明了這種情況。 ~~~ main(){ printf("%f\n ",356.); printf("%f\n ",356); printf("%f\n ",356f); } ~~~ 注意,第4行在Dev C++中會報錯。 ## 實型變量 1) 實型數據在內存中的存放形式 實型數據一般占4個字節(32位)內存空間。按指數形式存儲。實數3.14159在內存中的存放形式如下: ![](http://www.lvtao.net/content/uploadfile/201404/3545ebce9625a6658cfa7f744b22f78220140421033812.gif) 說明: * 小數部分占的位(bit)數愈多,數的有效數字愈多,精度愈高。 * 指數部分占的位數愈多,則能表示的數值范圍愈大。 2) 實型變量的分類 實型變量分為:單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。 在Turbo C中單精度型占4個字節(32位)內存空間,其數值范圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型占8 個字節(64位)內存空間,其數值范圍為1.7E-308~1.7E+308,可提供16位有效數字。 | 類型說明符 | 比特數(字節數) | 有效數字 | 數的范圍 | |---|---|---| | float | 32(4) | 6~7 | 10-37~1038????????? | | double | 64(8) | 15~16 | 10-307~10308 | | long double | 128(16) | 18~19 | 10-4931~104932 | 實型變量定義的格式和書寫規則與整型相同。例如: ~~~ float x,y; /* x,y為單精度實型量 */ double a,b,c; /* a,b,c為雙精度實型量*/ ~~~ 3) 實型數據的舍入誤差 由于實型變量是由有限的存儲單元組成的,因此能提供的有效數字總是有限的。如下例。 【例3-6】實型數據的舍入誤差。 ~~~ main(){ float a,b; a=123456.789e5; b=a+20; printf("%f\n",a); printf("%f\n",b); } ~~~ 注意:1.0/3*3的結果并不等于1。 【例3-7】 ~~~ main(){ float a; double b; a=33333.33333; b=33333.33333333333333; printf("%f\n%f\n",a,b); } ~~~ 從本例可以看出: * 由于a 是單精度浮點型,有效位數只有七位。而整數已占五位,故小數二位后之后均為無效數字。 * b 是雙精度型,有效位為十六位。但Turbo C 規定小數后最多保留六位,其余部分四舍五入。 ## 實型常數的類型 實型常數不分單、雙精度,都按雙精度double型處理。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看