Pergunta

Qual é a diferença entre Int32 e UInt32?

Se eles são os mesmos com recursos de alcance de capacidade, a questão é por que motivo UInt32 foi criado? Quando devo usar UInt32 ao invés de Int32?

Foi útil?

Solução

O UINT32 não permite números negativos. A partir de Msdn:

O tipo de valor UINT32 representa números inteiros não assinados com valores que variam de 0 a 4.294.967.295.

Outras dicas

Um número inteiro é -2147483648 a 2147483647 e um número inteiro não assinado é de 0 a 4294967295.

este artigo pode ajudá -lo.

O UINT32 é um número inteiro não assinado com 32 bits, o que significa que você pode representar 2^32 números (0-4294967295).

No entanto, para representar números negativos, um bit dos 32 bits é reservado para indicar um número positivo ou negativo. Isso deixa você com 2^31 números possíveis no negativo e também no positivo. O intervalo resultante é -2147483648 a 2147483647 (o intervalo positivo inclui o valor 0, portanto, apenas 2147483647). Esta representação é chamada INT32.

Você deve escolher não assinado para números que não conseguem ser negativos por definição, pois oferecem um alcance mais amplo, mas deve ter em mente que a conversão de e para Int32 não é possível, pois o INT32 não consegue manter o alcance de UINT32 e vice -versa .

O UINT32 não é assinado. Ele não pode ser usado para representar números negativos, mas pode conter números positivos maiores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top