Hay código:Adición de dos variables unsigned char y el resultado es int
#include <iostream>
int main(){
unsigned char a = 4, b = 255;
int g = (unsigned char)a + (unsigned char)b;
std::cout << g << std::endl;
return 0;
}
Resultado:
259
Por qué el resultado es 259, no 3? Si se añaden dos variables unsigned char, no debe haber desbordamiento, resultado debe ser 3 y entonces se debe convertir de unsigned char a int 3 3.