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 .