Konwersja w wyrażeniach
Ostatnio zmodyfikowano 2015-03-25 21:04
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. |
|
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 |
|
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. |
|
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 |
|
Alkos Temat założony przez niniejszego użytkownika |
» 2015-03-25 21:04:05 Dzięki za wyjaśnienie. :) |
|
« 1 » |