adicionando int não assinado a int [duplicado]
Esta questão já tem uma resposta aqui:
Assinado para conversão não assinada em C - é sempre seguro? 8 respostas#include <iostream>
int main ()
{
using namespace std;
unsigned int i = 4;
int a = -40;
cout<<a+i<<endl;
return 0;
}
Executando isso me dá 4294967260
Eu sei que há uma conversão acontecendo, de um int assinado para unsigned int, mas como e por que esse valor em particular? Eu notei que é perto da soma de | 2147483647 | + 2147483647