Conversión de bases numéricas
Binario / octal / decimal / hexadecimal / cualquier base de 2 a 36 · precisión en números grandes · con decimales y vistas de bits
换算设置
整数用 BigInt 大数运算,不经过双精度浮点,40 位以上的十进制整数也逐位精确。
小数按分数精确换算:把你输入的小数位当分子、进制的幂当分母,约分后逐位乘目标进制,结果标注「精确」或「循环」。
位视图展示绝对值(可补到 8/16/32/64 位),不处理补码——需要补码请先确定位宽再手工换算。
换算结果
输入数值后这里会同时给出各进制结果。
Preguntas frecuentes
No se pierden. La parte entera corre de principio a fin por BigInt, sin pasar por el Number de JS: el flotante de doble precisión solo representa exactos los enteros hasta 2^53, unos 16 dígitos decimales. Escribe de golpe un entero decimal de 40 cifras o más, y los resultados en binario, hexadecimal y base 36 salen exactos dígito a dígito.
El decimal se vuelve fracción exacta: los decimales que escribas van de numerador y la potencia de la base de denominador; tras simplificar, las cifras salen multiplicando paso a paso por la base destino. Si el denominador simplificado solo tiene factores primos de la base destino, la conversión acaba (etiqueta exacto: 0.5 decimal es 0.1 en binario, 0.9375 es 0.1111). Si no, entra en bucle sin fin (etiqueta repetitivo: 0.1 decimal es 0.0001100110011… en binario), y entonces se corta a las cifras que tú fijes, dicho con todas las letras.
Negativos sí, con la costumbre de quedarse el signo menos (el -255 decimal es -FF en hexadecimal). El complemento a dos y el bit a bit quedan fuera de esta herramienta: la vista de bits enseña el binario del valor absoluto en grupos (rellenable a 8/16/32/64 bits), que no es una representación en complemento a dos; si lo necesitas, fija tú primero el ancho de bits y convierte a mano: la herramienta no te adivina el ancho.
Nada se sube. El análisis y el cambio de base corren enteros en tu navegador, la entrada no sale de la máquina y recargar la borra. Los prefijos no hace falta borrarlos a mano: si el texto empieza por 0x / 0b / 0o se reconoce solo y salta a la base 16 / 2 / 8 (la pantalla lo indica); los espacios y guiones bajos dentro del número se toman como agrupación y se ignoran (0b1010_1010 vale lo mismo que 10101010); en hexadecimal da igual mayúscula o minúscula.