|
Konwersja typów:
konwersja niejawna
int x,y;
float a;
y=a*x; // typy przed (int)=(float)*(int), typy po (int)=(float)*(float), czyli wynik
zostanie zaokroglądy z typu float na typ int
|
niejawna konwersja typów w wyrażeniach zawsze nastepujuje w góre od najmniejszego
do najwiekszego
100.0 - liczba traktowana jako typ double
100.0f - liczba traktowana jako typ float
konwersja jawna (rzutowanie)
(nazwa_typu) zmienna
int n1,n2;
w=(double)n1/100+n2;
|
int n1,n2;
double w;
n1=n2/w+0.5; // przed (int)=(int)/(double)+(double), ta linijka powinna w
wiekszości kompilatorów wyświetlić ostrzeżenie
n1=(int)(n2/w+0.5); //taki zapis usunie ostrzeżenie
|
float w1=7.99;
int w2=(int)w1; //w2=7, bez zaokraglania
int w2=(int)(w1+0.5) //w2=8, ładny sposób zaokrąglania
|
|