Um UUID (Identificador Universalmente Exclusivo) é um identificador de 128 bits padronizado pelas normas IETF RFC 4122 e RFC 9562. Os UUIDs padrão são tipicamente exibidos como uma sequência de 32 dígitos hexadecimais separados por hífens em cinco grupos (8-4-4-4-12), como 550e8400-e29b-41d4-a716-446655440000. Como um número de 128 bits permite 340 undecilhões de valores possíveis, sistemas de computação distribuídos e bancos de dados podem criar identificadores de forma independente sem necessidade de coordenação com um servidor central ou risco de chaves duplicadas.
O que é a Representação em Inteiro de um UUID?
Em sua essência, todo UUID é simplesmente um número binário de 128 bits (16 bytes). Embora os seres humanos geralmente leiam os UUIDs como strings hexadecimais com hífens por conveniencia, o valor subjacente também pode ser representado como um único número inteiro decimal grande sem sinal. Este número inteiro representa exatamente os mesmos 128 bits de dados convertidos da base 16 (hexadecimal) para a base 10 (decimal). Um número inteiro sem sinal de 128 bits varia de 0 (todos os 128 bits definidos como zero) até 340,282,366,920,938,463,463,374,607,431,768,211,455 (todos os 128 bits definidos como um). Cada bit do UUID é preservado com 100% de fidelidade matemática.
Como Converter um UUID para um Inteiro
- Passo 1: Digite ou cole seu UUID canônico válido de 36 caracteres, GUID com chaves ou string hexadecimal pura de 32 caracteres no campo de entrada.
- Passo 2: Clique no botão "Converter" (ou permita que a ferramenta calcule instantaneamente enquanto você digita). O algoritmo remove quaisquer hífens de formatação, chaves ou espaços em branco.
- Passo 3: A ferramenta interpreta os 32 caracteres hexadecimais como um inteiro sem sinal exato de 128 bits usando a aritmética BigInt nativa do JavaScript, evitando perdas de precisão de ponto flutuante.
- Passo 4: O inteiro decimal exato aparece na caixa de resultados. Clique em "Copiar" para copiar o inteiro bruto não formatado diretamente para a área de transferência para uso em banco de dados ou código.
Exemplo Matemático de Conversão
Considere o UUID de amostra canônico RFC 550e8400-e29b-41d4-a716-446655440000. Quando os hífens são removidos, sua string hexadecimal de 32 caracteres é 550e8400e29b41d4a716446655440000. Converter esse número de base 16 em um inteiro decimal de base 10 produz exatamente 113059749145936325402354257176981405696 (ou 113,059,749,145,936,325,402,354,257,176,981,405,696 com separadores de milhar). Por outro lado, o UUID Nil mínimo (00000000-0000-0000-0000-000000000000) converte para 0, e o UUID máximo (ffffffff-ffff-ffff-ffff-ffffffffffff) converte para 340282366920938463463374607431768211455.
Por que Converter um UUID para um Inteiro?
Converter um UUID em um inteiro decimal é valioso em programação especializada, engenharia de dados e sistemas de banco de dados. Os casos de uso comuns incluem: armazenar identificadores em sistemas ou esquemas legados que suportam apenas chaves numéricas; dividir valores de 128 bits em duas colunas de banco de dados BIGINT de 64 bits (bits altos e bits baixos); algoritmos de particionamento e hashing consistente em bancos de dados distribuídos como Apache Kafka, Cassandra ou ClickHouse; realizar comparações de intervalos numéricos ou operações de ordenação em computação científica; e depurar a entropia em nível de bits em fluxos de trabalho criptográficos e de teste. A conversão não altera a identidade do valor — ela simplesmente visualiza os mesmos 16 bytes através de uma perspectiva decimal.
UUID vs. Inteiro: Principais Diferenças
UUIDs padrão (36 caracteres com hífens) são legíveis por humanos, amplamente reconhecidos por frameworks de software, suportados nativamente por bancos de dados como PostgreSQL (tipo de dados UUID) e estruturados visualmente para exibir bits de versão e variante. Por outro lado, números inteiros decimais de 128 bits (até 39 dígitos) são estritamente numéricos, tornando-os compatíveis com processadores matemáticos, protocolos de serialização numérica e sistemas legados sem analisadores nativos de UUID. No entanto, números de 39 dígitos são mais difíceis de inspecionar visualmente para humanos e excedem o limite seguro de 53 bits das variáveis padrão de ponto flutuante, exigindo suporte especializado a BigInt ou inteiros de 128 bits.
A Conversão de UUID para Inteiro é Segura e Sem Perdas?
Sim, a conversão entre um UUID e um inteiro de 128 bits é 100% sem perdas e completamente reversível. Como ambos os formatos representam exatamente os mesmos 128 bits de dados binários, nenhuma entropia ou informação é perdida durante a conversão. No entanto, os números padrão do JavaScript (pontos flutuantes de precisão dupla IEEE 754) só podem representar com segurança inteiros até 2^53 - 1 (9,007,199,254,740,991). Armazenar um inteiro de 128 bits em um float padrão arredondará e corromperá silenciosamente os 75 bits inferiores. É por isso que nosso conversor usa BigInt nativo do JavaScript, e por isso que aplicações de backend devem usar uint128 (Rust, C++), UInt128 (C# .NET), int (precisão arbitrária do Python 3) ou NUMERIC/DECIMAL(39,0) (SQL).
128-Bit Integer Range & Bounds
Every UUID spans exactly 128 binary bits (16 octets). The minimum representation is Nil (0) and the maximum is 340,282,366,920,938,463,463,374,607,431,768,211,455 (2128 - 1). This tool uses native arbitrary-precision BigInt arithmetic for 100% mathematical fidelity.
Perguntas Frequentes
O que é um conversor de UUID para inteiro?
Um conversor de UUID para inteiro é um utilitário para desenvolvedores que analisa um Identificador Universalmente Exclusivo de 128 bits (como um UUID v4 ou UUID v7) e converte sua representação hexadecimal em um inteiro decimal exato, ou converte um inteiro decimal de volta para um UUID canônico.
Qualquer UUID pode ser convertido em um inteiro?
Sim. Todo UUID válido de acordo com RFC 4122 e RFC 9562 contém exatamente 128 bits (16 bytes). Qualquer sequência de 128 bits é mapeada para um inteiro decimal exclusivo entre 0 e 340,282,366,920,938,463,463,374,607,431,768,211,455.
A conversão de UUID para inteiro é reversível?
Sim, a conversão é completamente bidirecional e sem perdas. Um número inteiro dentro do intervalo de 128 bits pode ser convertido de volta para o UUID canônico idêntico, convertendo o valor decimal em uma string hexadecimal de 32 caracteres e inserindo hífens no padrão 8-4-4-4-12 padrão.
Qual o tamanho máximo que um inteiro UUID pode ter?
Um inteiro UUID pode ter até 39 dígitos decimais. O valor máximo possível é 2^128 - 1, que é igual a 340,282,366,920,938,463,463,374,607,431,768,211,455 (representando ffffffff-ffff-ffff-ffff-ffffffffffff).
UUID v4 e UUID v7 são suportados?
Sim. Todas as versões de UUID (incluindo v1, v4, v5 e a nova v7 ordenada por tempo) são valores de 128 bits e podem ser convertidas perfeitamente de e para inteiros decimais.
Converter um UUID em inteiro altera o UUID?
Não. A conversão altera apenas a base numérica (da base 16 hexadecimal para a base 10 decimal). Os 128 bits binários subjacentes permanecem idênticos.
Este conversor de UUID para inteiro é gratuito?
Sim, o FastUUIDGenerator é 100% gratuito, sem limites de uso, sem necessidade de cadastro e sem assinaturas.
Meu UUID é enviado para algum servidor?
Não. Todos os cálculos são executados 100% localmente no seu navegador da web usando BigInt nativo do JavaScript no lado do cliente. Seus identificadores nunca saem do seu computador e nunca são registrados ou transmitidos por nenhuma rede.