Elõre: Utasítások
Fel: Konverziók
Vissza: Konverzió
mutatók között
Aritmetikai konverziók
A Kernighan és Ritchie szokásos aritmetikai konverziónak
nevezi azt az eljárást, amely megadja, hogy a különbözõ
típusú operandusok milyen konverzión mennek keresztül
az aritmetikai operátorokkal alkotott kifejezésekben. A következõkben
leírjuk a BORLAND C++ által alkalmazott algoritmus lépéseit:
- 
1.
 
- 
A nem egész, az int-nél rövidebb illetve a
szimpla pontosságú lebegõpontos értékek
a 1.5. táblázatnak megfelelõen
egésszé illetve double típusúvá
konvertálódnak. E lépés után mindkét
operandus int, illetve double lesz, beleértve
a long illetve unsigned módosító
jelzõket.
 
- 
2.
 
- 
Ha az egyik operandus long double, a másik operandus is
long double-lá alakul.
 
- 
3.
 
- 
Ha az egyik operandus double, a másik is double-lá
alakul.
 
- 
4.
 
- 
Egyébként, ha valamelyik operandus unsigned long,
a másik operandus is unsigned long lesz.
 
- 
5.
 
- 
Egyébként, ha valamelyik operandus long, a másik
operandus is long lesz.
 
- 
6.
 
- 
Egyébként, ha valamelyik operandus unsigned, a másik
operandus is unsigned lesz.
 
- 
7.
 
- 
Egyébként mindkét operandus típusa int.
 
A kifejezés eredményének típusa minden esetben
megegyezik a két operandus típusával.
| Típus | 
Mire konvertálódik | 
Eljárás | 
| char | 
int | 
Általában elõjelkiterjesztés | 
| unsigned char | 
int | 
0 felsõ byte-tal kibõvítve | 
| signed char | 
int | 
Mindig elõjelkiterjesztés | 
| short | 
int | 
Bitminta-másolás | 
| unsigned short | 
unsigned int | 
Bitminta-másolás | 
| enum | 
int | 
Bitminta-másolás | 
| float | 
double | 
Mantisszát 0-kkal bõvítve | 
 1.5 táblázat: A szokásos aritmetikai
konverzióban alkalmazott eljárások