integer-promotion

Konwersja typu-unsigned to signed int / char

Próbowałem wykonać poniższy program: #include <stdio.h> int main() { signed char a = -5; unsigned char b = - ... żne wyniki dla obu? Czy wyjście powinno być jak poniżej ? Char jest taki sam!!! int jest taki sam!!! A codepad link.

Jak działają zasady promocji, gdy znaki po obu stronach operatora binarnego różnią się? [duplikat]

To pytanie ma już odpowiedź tutaj: reguły konwersji typu Implicit w operatorach C++ ... 1. Jednak nie widzę w ogólnym przypadku, Jak to jest decydujące. Czy to nieokreślone zachowanie, które widzę, czy coś innego?

W wyrażeniu C, w którym występują niepodpisana liczba całkowita i podpisana liczba całkowita, który Typ będzie promowany do jakiego typu?

Mam pytanie o zasady promocji typów danych w standardzie języka C. C99 mówi, że: C liczba całkowita wymaga również, aby " j ... INT) podczas gdy unsigned int nie mogą reprezentować wartości-ve, więc jaki typ jest promowany do czego w takich przypadkach?

Dlaczego Skrót musi być konwertowany na int przed operacjami arytmetycznymi w C i C++?

Z odpowiedzi, które otrzymałem z tego pytania wynika, że C++ odziedziczył ten wymóg Konwersji short na int podczas wykonywan ... Na przykład (zaczerpnięte z sugestii dypa w komentarzach): short s = 1, t = 2 ; auto x = s + t ; x będzie miał Typ int .