Conversor de base numérica
Convierte entre binario, octal, decimal y hexadecimal. Soporta BigInt y operaciones bitwise con anchos firmados.
Bitwise operations
Sobre esta herramienta
Number Base Converter traduce entre binario (base 2), octal (base 8), decimal (base 10) y hexadecimal (base 16). Escriba el valor en cualquiera de los cuatro campos de entrada y los otros tres se actualizan al unísono. Hay aritmética de precisión arbitraria integrada — pegue un hash de 1024 bits y aún así obtiene una respuesta exacta, sin redondeos de coma flotante.
Un segundo panel ejecuta operaciones bit a bit sobre el mismo valor: AND, OR, XOR, NOT, desplazamiento a la izquierda, desplazamiento a la derecha, desplazamiento aritmético a la derecha. Para cada operación elige el ancho del entero (8/16/32/64 bits, con signo o sin signo) para que las representaciones en complemento a dos se muestren correctamente — 0xFF es 255 en u8 pero -1 en i8, y la herramienta etiqueta ambos. Una vista previa binaria en vivo resalta posiciones de bit individuales para que vea exactamente qué cambió.
Cuándo utilizar esta herramienta
- Leer y escribir flags de configuración. Muchas APIs usan máscaras de bits; convertir
0b10110a22o al revés es un impuesto diario sobre este estilo. - Depurar volcados hex. ¿Un byte muestra
0xC0en memoria? Eso es192decimal,0b11000000binario. - Calcular valores de color. Los colores hex de CSS, los códigos de escape ANSI y los flujos de bytes de formatos de imagen viven en hex.
- Trabajar con permisos de fichero.
0o755↔0b111101101— la conversión es la base de la Chmod Calculator.
Sobre BigInt y anchos con signo
ElNumber nativo de JavaScript pierde precisión más allá de 2^53. Usamos BigInt para el valor en sí, así que cualquier entero que pueda escribir cabe. Los anchos con signo importan para números negativos: el complemento a dos a 8 bits dice 0b10000000 = -128; a 16 bits el mismo patrón es 32768. La herramienta siempre le muestra ambas interpretaciones para que la correcta esté a un vistazo de distancia.
Preguntas frecuentes
¿Por qué 0xFF se muestra a la vez como 255 y como -1?
¿Qué tan grande puede ser el número que maneja la herramienta?
¿Cuál es la convención de prefijos?
0b para binario (Python, JS, Rust), 0o para octal (Python, JS, Rust — la forma antigua con cero inicial pelado está desaconsejada), 0x para hex (universal). Nuestra herramienta acepta entradas con o sin prefijos y siempre emite resultados con la forma con prefijo convencional. C/C++ usa cero inicial pelado para octal (0755), que es una trampa — nunca emitimos esa forma.
¿Por qué el desplazamiento a la derecha se comporta diferente a veces?
>>>) rellena los bits altos con 0 — usado para valores sin signo. El aritmético (>>) rellena con el bit de signo — preserva el signo de números negativos en complemento a dos. -8 >> 1 = -4 (aritmético) pero -8 >>> 1 = 2147483644 (lógico, 32 bits). La herramienta expone ambos como botones separados.