Udostępnij za pośrednictwem


Konwersje typów zmiennoprzecinkowe

A pływaka wartość zamienioną na podwójne lub long double, lub podwójnego konwertowane na long double, poddawany jest żadna zmiana w wartości.A double wartość zamienioną na pływaka wartość odpowiada dokładnie, jeśli jest to możliwe.Jeśli wartość nie może być przedstawiona dokładnie precyzji mogą zostać utracone.Jeśli wynik jest poza zakresem, zachowanie jest niezdefiniowane.Zobacz limity na stałe Floating-Point dla zakresu liczb zmiennoprzecinkowych typów.

Wartość zmienna jest konwertowany na wartość integralną, konwertując pierwszego długi, następnie z long wartość określoną wartość integralną.Część dziesiętną zmiennej wartości jest pomijany podczas konwersji do long.Jeśli wynik jest nadal zbyt duży, aby mieścił się w long, wynik konwersji jest niezdefiniowane.

Programu Microsoft

Podczas konwertowania double lub long double liczba zmiennoprzecinkowa do mniejszych liczbę zmiennoprzecinkową, wartość zmiennoprzecinkowa zmiennej jest obcinana kierunku zera po wystąpieniu niedomiar.Przepełnienie powoduje błąd w czasie wykonywania.Należy zauważyć, że kompilator Microsoft C mapuje long double do typu double.

KONIEC Microsoft szczególne

W następującej tabeli podsumowano konwersje z typów przestawne.

Konwersje typów zmiennoprzecinkowe

Od

Do

Metoda

Pływak

char

Konwertuj na long; Konwertuj long dochar

Pływak

krótkie

Konwertuj na long; Konwertuj long do krótkie

Pływak

długie

Obciąć na przecinka dziesiętnego.Jeśli wynik jest za duży, aby mógł być przedstawiony jako long, wynik jest niezdefiniowane.

Pływak

krótki niepodpisane

Konwertuj na long; convert long to unsigned short

Pływak

unsigned long

Konwertuj na long; convert long to unsigned long

Pływak

podwójne

Zmienić reprezentacji wewnętrznej

Pływak

long double

Zmienić reprezentacji wewnętrznej

podwójne

char

Konwertuj na pływaka; Konwertuj pływaka dochar

podwójne

krótkie

Konwertuj na pływaka; Konwertuj pływaka do krótkie

podwójne

długie

Obciąć na przecinka dziesiętnego.Jeśli wynik jest za duży, aby mógł być przedstawiony jako long, wynik jest niezdefiniowane.

podwójne

krótki niepodpisane

Konwertuj na long; Konwertuj long do krótko niepodpisane

podwójne

unsigned long

Konwertuj na long; convert long to unsigned long

podwójne

Pływak

Reprezentują jako pływaka.Jeśli double wartość nie może być przedstawiona dokładnie tak, jak pływaka, utrata precyzji.Jeśli wartość jest zbyt duży, aby być reprezentowana jako pływaka, wynik jest niezdefiniowane.

long double

char

Konwertuj na pływaka; Konwertuj pływaka dochar

long double

krótkie

Konwertuj na pływaka; Konwertuj pływaka do krótkie

long double

długie

Obciąć na przecinka dziesiętnego.Jeśli wynik jest za duży, aby mógł być przedstawiony jako long, wynik jest niezdefiniowane.

long double

krótki niepodpisane

Konwertuj na long; convert long to unsigned short

long double

unsigned long

Konwertuj na long; convert long to unsigned long

long double

Pływak

Reprezentują jako pływaka.Jeśli double wartość nie może być przedstawiona dokładnie tak, jak pływaka, utrata precyzji.Jeśli wartość jest zbyt duży, aby być reprezentowana jako pływaka, wynik jest niezdefiniowane.

long double

podwójne

Longdouble wartość jest traktowana jako double

Konwersja z pływaka, podwójnego, lub long double wartości do unsigned long nie są dokładne, jeśli wartość konwertowany jest większe niż maksymalne dodatnie long wartości.

Zobacz też

Koncepcje

Konwersje przypisania