Sdílet prostřednictvím


Převody typů s pohyblivou čárkou

A plovoucí hodnotu převedenou na dvojité nebo long double, nebo dvojité převedeny na long double, podroben žádná změna hodnoty.A dvojité hodnotu převedenou na plovoucí hodnota představuje přesně, pokud je to možné.Přesnost mohou být ztraceny, pokud nelze přesně reprezentovat hodnoty.Výsledkem je mimo rozsah, chování nedefinovaná.Viz omezení konstanty Floating-Point pro rozsah typů s plovoucí desetinnou čárkou.

Pohyblivou hodnotou je převeden na integrální hodnota první převedením na dlouhý, pak z dlouhé konkrétní hodnotu nedílnou.Za hodnotu s plovoucí desetinnou zahozena při převodu na dlouhý.Pokud výsledkem je stále příliš velké a nevejde se do dlouhý, výsledek převodu není definován.

Konkrétní společnosti Microsoft

Při převodu dvojité nebo long double číslo s plovoucí desetinnou čárkou menší desetinné číslo, hodnota proměnné s plovoucí desetinnou čárkou je zkrácen směrem k nule, dojde podtečení.Přetečení způsobí chybu běhu.Poznámka, která mapuje kompilátor Microsoft C long double k zadání dvojité.

Konec konkrétní společnosti Microsoft

Následující tabulka shrnuje plovoucí typy převodů.

Převody typů s pohyblivou čárkou

Od

Akce

Metoda

float

char

Převést na dlouhý; převést dlouhý nachar

float

short

Převést na dlouhý; převést dlouhý na krátké

float

long

Zkraťte na desetinné čárky.Pokud výsledek je příliš velký, je znázorněno jako dlouhý, výsledkem nedefinovaná.

float

unsigned short

Převést na dlouhý; convert long to unsigned short

float

unsigned long

Převést na dlouhý; convert long to unsigned long

float

double

Změna vnitřní reprezentace

float

long double

Změna vnitřní reprezentace

double

char

Převést na plovoucí; převést plovoucí nachar

double

short

Převést na plovoucí; převést plovoucí na krátké

double

long

Zkraťte na desetinné čárky.Pokud výsledek je příliš velký, je znázorněno jako dlouhý, výsledkem nedefinovaná.

double

unsigned short

Převést na dlouhý; převést dlouhý na nepodepsané krátké

double

unsigned long

Převést na dlouhý; convert long to unsigned long

double

float

Představují jako plovoucí.Pokud dvojité hodnota nemůže být reprezentován přesně jako plovoucí, dojde ke ztrátě přesnosti.Pokud hodnota je příliš velká a nelze je jako plovoucí, výsledkem nedefinovaná.

long double

char

Převést na plovoucí; převést plovoucí nachar

long double

short

Převést na plovoucí; převést plovoucí na krátké

long double

long

Zkraťte na desetinné čárky.Pokud výsledek je příliš velký, je znázorněno jako dlouhý, výsledkem nedefinovaná.

long double

unsigned short

Převést na dlouhý; convert long to unsigned short

long double

unsigned long

Převést na dlouhý; convert long to unsigned long

long double

float

Představují jako plovoucí.Pokud dvojité hodnota nemůže být reprezentován přesně jako plovoucí, dojde ke ztrátě přesnosti.Pokud hodnota je příliš velká a nelze je jako plovoucí, výsledkem nedefinovaná.

long double

double

Dlouhýdvojité hodnota je považována za dvojité

Převody z plovoucí, dvojité, nebo long double hodnoty unsigned long nejsou přesné, pokud je převáděna hodnota větší než maximální kladné dlouhý hodnotu.

Viz také

Koncepty

Přiřazení převody