Como posso converter o seguinte?
2934 (inteiro) a B76 (hex)
Deixe-me explicar o que estou tentando fazer. Eu tenho IDs de usuário no meu banco de dados que são armazenados como números inteiros. Em vez de fazer com que os usuários façam referência a seus IDs, quero permitir que eles usem o valor hexadecimal. O principal motivo é porque é mais curto.
Portanto, não só preciso ir de número inteiro para hexadecimal, mas também preciso ir de hexa para número inteiro.
Existe uma maneira fácil de fazer isso em c #?
c#
hex
type-conversion
codette
fonte
fonte
Integer
redução da implementação? Se o único objetivo é tornar o ID do usuário o mais curto possível, eu estaria interessado em saber se existe algum outro motivo aparente pelo qual você exija especificamente a conversão hexadecimal - a menos que eu errei, é claro. É claro e conhecido (se necessário) que os IDs do usuário são de fato uma representação hexadecimal do valor real?Respostas:
de http://www.geekpedia.com/KB8_How-do-I-convert-from-decimal-to-hex-and-hex-to-decimal.html
fonte
Usar:
Consulte Como converter entre seqüências hexadecimais e tipos numéricos (Guia de Programação em C #) para obter mais informações e exemplos.
fonte
Tente o seguinte para convertê-lo em hexadecimal
E de volta
fonte
fonte
Eu realmente questiono o valor disso, no entanto. Seu objetivo declarado é reduzir o valor, o que será, mas isso não é um objetivo em si. Você realmente quer facilitar a lembrança ou a digitação.
Se você quer dizer mais fácil de lembrar, está dando um passo atrás. Sabemos que ainda é do mesmo tamanho, apenas codificado de forma diferente. Mas seus usuários não saberão que as letras estão restritas a 'A-F' e, portanto, o ID ocupará o mesmo espaço conceitual para eles, como se a letra 'AZ' fosse permitida. Portanto, em vez de memorizar um número de telefone, é mais como memorizar um GUID (de comprimento equivalente).
Se você quer dizer digitar, em vez de poder usar o teclado, o usuário agora deve usar a parte principal do teclado. É provável que seja mais difícil digitar, porque não será uma palavra que seus dedos reconheçam.
Uma opção muito melhor é deixá-los escolher um nome de usuário real.
fonte
Para Hex:
Para int:
fonte
Eu criei minha própria solução para converter int para Hex string e vice-versa antes de encontrar esta resposta. Não é de surpreender que seja consideravelmente mais rápido que a solução .net, pois há menos sobrecarga de código.
Código de tempo:
Resultados:
fonte
QUADRO LÍQUIDO
PASCAL >> C #
Algo da velha escola procedimento muito antigo de pascal convertido em c #
fonte
Imprima o número inteiro em valor hexadecimal com preenchimento zero (se necessário):
https://docs.microsoft.com/en-us/dotnet/standard/base-types/how-to-pad-a-number-with-leading-zeros
fonte
int para hex:
hex para int:
fonte