Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Konwersja w wyrażeniach

Ostatnio zmodyfikowano 2015-03-25 21:04
Autor Wiadomość
Alkos
Temat założony przez niniejszego użytkownika
Konwersja w wyrażeniach
» 2015-03-25 18:57:32
Cześć wszystkim :)
Kolejność konwersji w wyrażeniu zależy od priorytetów operatorów,
a jeżeli wszystkie użyte mają ten sam to od lewej do prawej tak? tzn.
int liczba = A + B + C;

A, B, C - różnych typów. I kolejność wyglądałaby tak: int liczba = (A+B)+C;

2. int liczba = A + B;
A - typu int, B - typu long. int i long tego samego rozmiaru.
W takiej sytuacji skonwertuje liczbę A typu int na typ long i z sumuje go z B.
Czy odwrotnie, czyli liczbę B typu long skonwertuje na int.

P-129157
Monika90
» 2015-03-25 19:26:57
signed long + signed int zawsze daje signed long,
to znaczy, signed int będzie konwertowane na signed long (taka konwerjsa nie zmienia wartości) i wynik będzie signed long
P-129158
Alkos
Temat założony przez niniejszego użytkownika
» 2015-03-25 19:51:52
Ok, w sumie pytania mało przydatne jednak dobrze wiedzieć.
A jeżeli short ma ten sam rozmiar co int i long to,
unsigned short + int daje unsigned int
unsigned short + long daje unsigned long

Zakładam że odnośnie pierwszego pytania jest tak jak napisałem? Od lewej do prawej.
P-129160
Monika90
» 2015-03-25 20:07:49
jeżeli short ma ten sam rozmiar co int i long to,
unsigned short + int daje unsigned int
unsigned short + long daje unsigned long
tak

Zakładam że odnośnie pierwszego pytania jest tak jak napisałem? Od lewej do prawej
dodawania zostaną wykonane od lewej do prawej, ale podwyrażenia A, B i C niekoniecznie będą wartościowane w takiej kolejności
P-129162
Alkos
Temat założony przez niniejszego użytkownika
» 2015-03-25 21:04:05
Dzięki za wyjaśnienie. :)
P-129172
« 1 »
  Strona 1 z 1