BinaryFlow
Converte entre qualquer base de 2 a 36, clica nos bits para os inverter, lê os negativos como complemento para dois de 8 a 64 bits e abre um float no seu sinal, expoente e mantissa. Nada é truncado e nada sai do teu navegador.
Ver como funcionaClica em qualquer bit para o inverter.
Tudo fica em BigInt na largura que escolheres, por isso nada é truncado em silêncio para 32 bits como fazem os operadores do JavaScript.
Como funciona
1Escreve-o em qualquer base
Da base 2 à 36, aceitando o sinal menos, os prefixos 0x e os espaços de agrupamento.
2Diz quantos bits ocupa
8, 16, 32, 64 bits ou sem limite. Os valores com sinal passam a complemento para dois, por isso −42 fica 0xD6.
3Inverte bits à mão
Clica em qualquer bit da grelha, ou aplica AND, OR, XOR, NOT e deslocamentos nessa largura.
4Lê todas as formas de uma vez
Binário, octal, decimal, hexadecimal, uma base personalizada e os bytes em bruto em qualquer ordem.
O que faz mesmo
Sem limite de tamanho
BigInt de ponta a ponta, por isso um número de 300 dígitos converte-se exato em vez de desmoronar a partir de 2^53.
Com sinal e complemento para dois
Números negativos na largura escolhida, mostrando os bits guardados e o valor com sinal lado a lado.
IEEE-754 a descoberto
Sinal, expoente e mantissa com cor própria, mais o decimal exato que um float guarda mesmo.
Qualquer base de 2 a 36
Não só as quatro do costume. Base 36 para identificadores curtos, base 3 por curiosidade.
Os bytes de qualquer coisa
Quatro codificações de texto e um dump hexadecimal de qualquer ficheiro que largues, lido só quando pedires.
Nunca sai da página
Todas as conversões acontecem no teu navegador. Nada é carregado nem guardado.
Perguntas Frequentes
Os meus dados são enviados para algum servidor?+
Não. Todas as conversões, incluindo o dump hexadecimal de um ficheiro que largues, acontecem dentro do teu navegador. Nada é carregado nem guardado entre visitas.
Que bases posso usar?+
Qualquer uma de 2 a 36, tanto para a entrada como para a coluna de saída adicional. Os dígitos acima de 9 usam as letras a a z, a mesma convenção do parseInt e do BigInt.toString.
Porque é que −42 aparece como 0xD6?+
Porque a 8 bits um número negativo é guardado como o seu complemento para dois. A ferramenta mostra as duas leituras dos mesmos bits ao mesmo tempo: 214 sem sinal, −42 com sinal. Muda a largura para 16 ou 32 bits e o hexadecimal cresce em conformidade.
O que me diz a vista de vírgula flutuante?+
Divide os 32 ou 64 bits guardados em sinal, expoente e mantissa, e imprime o valor decimal exato que esses bits denotam, em vez da forma abreviada que o JavaScript imprime. É assim que se vê que 0.1 é na verdade 0.1000000000000000055511151231257827….
Posso editar os bits diretamente?+
Sim. Cada bit da grelha é um botão — clica para o inverter e todas as outras vistas acompanham. Também podes aplicar AND, OR, XOR, NOT e deslocamentos na largura escolhida, tudo em BigInt e sem cortar para 32 bits.