añadiendo int sin firmar a int [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Firmado para la conversión sin firmar en C: ¿es siempre seguro? 8 respuestas
#include <iostream>
int main ()
{
    using namespace std;
    unsigned int i = 4;
    int a = -40;
    cout<<a+i<<endl;
    return 0;
}

Ejecutar esto me da 4294967260

Sé que se está llevando a cabo una conversión, de un int firmado a un int sin firmar, pero ¿cómo y por qué este valor en particular? Noté que está cerca de la suma de | 2147483647 | + 2147483647

Respuestas a la pregunta(2)

Su respuesta a la pregunta