Típusai float és double - studopediya

Tény, hogy egy char - nem az, hogy más, mint egyfajta egész szám adatok a legrövidebb dimenzió (0-tól 255 vagy -128, hogy 127; ezeket a lehetőségeket, mint abban az esetben a int, megadható típusú selejtező: unsigned char és aláírt char). A gyakorlatban azonban ez a fajta általában használják, hogy képviselje karakteres adat - betűk, számok, írásjelek, matematikai szimbólumok, speciális karakterek, mint például a $, @ És így tovább. D.







Az összes lehetséges alkotó karakterek az ábécé. Alphabet - rendezett halmaza karakter, azaz Minden karakter (kivéve talán az első és utolsó) ismert, amely karakter előz meg és mi a következő lépés. Rendelési ugyanazon karakterkészlettel különböző módon, akkor egy másik ábécét. Különösen a különböző ábécék állnak különböző karakterkészletek.

Ha adott ábécé (azaz, egy sor n karakterek és a rendelkezési eljárás), a szimbólumokat úgy képezhetjük számok sorrendje 0-n -1. Ekkor minden ábécé szimbólum lehet hivatkozni megadásával annak sorszámát. Így jellegű adatok jelennek meg a számítógép - ahelyett, hogy azok sorozatszámát az ábécé (az úgynevezett karakter kódok) vannak tárolva karakterek maguk. Kódok függ az adott mód rendelés karakterek, illetve azok kódolást. Ha lehetséges kódolás, akkor a helyes értelmezése a karakter adatokra van szükség, hogy pontosan tudja, hogy melyik kódolást felelnek.

Numerikus értékek, amelyek tartalmazhatnak egy tört része, egy számítógép képviseletében a lebegőpontos számok. Ez a szám kerül tárolásra két komponens - a mantissza és a rend. amely megfelel a felvétel:

Ott m - mantissza, p - annak érdekében, Q - radix. A sorrendben mindig egy egész szám (pozitív vagy negatív). Mantissa - értelmes része a szám, akkor helyes lehet, vagy kevert frakciót. Machine számok binárisan jelöléssel úgy, hogy Q = 2.







Mivel a teljes memória mennyiségét elkülönített tárolására egyetlen szám van rögzítve, a értéke a szám lehet képviseli csak korlátozott pontossággal. Az igazi értéke ez a szám kerekítve a számok, amelyek ábrázolják egy adott méret a mantissza. Ezért lebegőpontos számok, a legtöbb esetben tartalmaznak egy bizonyos hiba, az úgynevezett kerekítési hiba.

A beállított értékeket a lebegőpontos típusú jellemzi egy sor (attól függően, hogy a számos lehetséges értékei sorrendben) és a pontosság (függ a méret a mantissza).

A legtöbb processzorok képesek dolgozni legalább két faj (vagy formátumok) lebegőpontos számok, amelyek mérete eltérő, és így a tartomány és a pontosság. Ezért a két alapvető típusa van, feltéve, C lebegőpontos:

úszó - egy egyszeres pontosságú lebegőpontos (négy bájt)

kettős - a számú kettős pontosságú lebegőpontos (8 bájt)

Itt említett jellemző méretű, de nem feltétlenül ilyen bármilyen számítógépen. Jellemzői az ilyen típusú x86 processzorok:

float - 4 bájt, 1,175 × 10-38 £ | x | £ 3,403 × 10 38. | Dx / x | £ 1,192 × 10-7

kettős - 8 bájt, 2,225 × 10-308 £ | x | £ 1,797 × 10 308 | Dx / x | £ 2.220 × 10-16

Ha a program lesz szükség bizonyos értékeket és a tartomány határain relatív pontosság értékek float típusú és dupla, akkor jobb, ha nem használja a fenti értékek (amelyek érvényes x86 processzor), és a standard szimbolikus állandók meghatározása a header file float.h keresztül #define:

FLT_MIN, FLT_MAX, FLT_EPSILON - egy úszó

DBL_MIN, DBL_MAX, DBL_EPSILON - típusú kettős

Ezután a szöveg a program nem „kötötte” csak egy fajtáját processzorok.

Mivel egyes processzorok képesek dolgozni, több mint két formátumban lebegőpontos számok (például a „kiterjesztett” vagy „négyszeres” pontosság), a C szabvány lehetővé teszi a használatát hosszú kvalichikatora nemcsak az int típusú, de a dupla. Majd a hosszú kettős típus valójában egy szélesebb körű és pontos, mint a dupla, attól függően, hogy a processzor képességeit, valamint a döntését a fordító fejlesztők. Így sok modern fordítóprogramok [2] Az Intel x86 hosszú dupla családi processzorok eltér a kettős, bár a processzor képes számokkal dolgozunk kiterjesztett pontosságú 10 bájt (80 bit). A tartomány határait és pontosságát számábrázolás típusú hosszú kettős float.h a header fájlban definiált szabványos LDBL_MIN állandók, LDBL_MAX és LDBL_EPSILON.

[1] Az elrendezésben orosz irodalomban is nevezik szerelvény vagy kötő. A „Szerkesztés linkek” is megtalálható.

[2] A kivétel cég Borland fordítóprogramok.




Kapcsolódó cikkek