Convertendo assinado em não assinado
Os objetos de tipos integrais com sinal podem ser convertidos nos tipos sem sinal correspondentes. Quando essas conversões ocorrem, o padrão de bits real não se altera; porém, a interpretação dos dados é alterada. Considere este código:
Exemplo
// conve__pluslang_Converting_Signed_to_Unsigned.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main()
{
short i = -3;
unsigned short u;
cout << (u = i) << "\n";
}
Saída
65533
No exemplo acima, um signed short, i, é definido e inicializado como um número negativo. A expressão (u = i) faz com que i seja convertido em um unsigned short antes de atribuição para u.