Programas C ++ retornam tipo int, por que retornam -1 retornam 255? [duplicado]

Esta pergunta já tem uma resposta aqui:

Intervalo de valores de retorno da função principal 7 respostas

Observe que estou executando uma máquina Linux, embora não ache o resultado diferente em uma máquina Windows (ou outra).

Essa é uma pergunta simples - os programas C ++ geralmente retornam um int de 32 bits. Se eureturn -1e imprima o resultado do terminal, o resultado é255.

Por que é isso? Eu sinto que o link é algo que eu deveria saber ou deveria ter notado há muitos anos - nunca usei códigos de retorno antes ou pensei sobre isso antes.

Teste o programa C ++:

int main()
{
    return -1;
}

Compilar:

g++ main.cpp -o a.out

Corre:

./a.out

Verificar resultado:

echo $?

Resultado:

255

Eu esperava ver 2 ^ 32 - 1.

Por que o resultado255 não-1 ou mesmo4294967295. (2^32 - 1)

questionAnswers(2)

yourAnswerToTheQuestion