RH
Tool

Number Base Converter

Convert numbers between binary, decimal, hexadecimal and octal

Client-side processing

Referencia de bases numéricas

Binario (2)

Dígitos: 0-1

Octal (8)

Dígitos: 0-7

Decimal (10)

Dígitos: 0-9

Hexadecimal (16)

Dígitos: 0-9, A-F

Info

Conversor de Bases Numéricas Online - Binario, Decimal, Hexadecimal

¿Por qué los programadores necesitan diferentes sistemas numéricos?

Los ordenadores trabajan nativamente en binario (base 2) porque sus circuitos solo distinguen dos estados: encendido/apagado, 1/0. El hexadecimal (base 16) es popular porque cada dígito hex representa exactamente 4 bits, haciendo fácil la conversión y lectura de valores binarios largos. Se usa para colores CSS (#FF5733), direcciones de memoria, códigos de caracteres Unicode, y depuración a bajo nivel. Octal (base 8) aparece en permisos Unix (chmod 755). Entender estas bases es fundamental para debugging, optimización, y trabajo con APIs de bajo nivel.

¿Cómo funcionan las conversiones entre diferentes bases?

Cada posición en un número tiene un valor basado en potencias de la base. En decimal (base 10), 255 = 2×10² + 5×10¹ + 5×10⁰. En binario (base 2), el mismo valor es 11111111 = 1×2⁷ + 1×2⁶ + ... + 1×2⁰. En hexadecimal (base 16), es FF = 15×16¹ + 15×16⁰ (F=15). Para convertir, primero conviertes a decimal dividiendo sucesivamente por la base origen, luego a la base destino multiplicando. Esta herramienta automatiza el proceso, pero entender el algoritmo ayuda en entrevistas técnicas y debugging.

¿Cuándo usar cada sistema numérico en programación?

Decimal para matemáticas normales y UI (lo que ven los usuarios). Hexadecimal para colores (#RRGGBB), direcciones de memoria (0x7FFF), bytes individuales en debugging, y literales en código cuando trabajas con bits. Binario para operaciones bitwise (flags, máscaras, protocolos), entender representación de datos, y optimización de bajo nivel. Octal para permisos de archivos en Unix/Linux (chmod 644) y algunos formatos de datos legacy. Los prefijos en código ayudan: 0x para hex, 0b para binario, 0o para octal.

Preguntas frecuentes

¿Por qué los colores CSS usan hexadecimal?

Los colores RGB usan 3 componentes (rojo, verde, azul) de 0-255 cada uno, que es exactamente un byte (8 bits). Dos dígitos hexadecimales representan perfectamente un byte: 00 a FF. Así, #FF5733 es intuitivo: FF (255) de rojo, 57 (87) de verde, 33 (51) de azul. Es más compacto que rgb(255,87,51) y fácil de manipular mentalmente una vez que memorizas que F=15, A=10. Herramientas como esta facilitan la conversión cuando necesitas calcular colores programáticamente.

¿Cómo se representan números negativos en binario?

Los ordenadores usan "complemento a dos" para números negativos. El bit más significativo indica el signo (0=positivo, 1=negativo). Para negar un número: inviertes todos los bits y sumas 1. Ejemplo en 8 bits: 5 es 00000101, -5 es 11111011 (invertir: 11111010, sumar 1: 11111011). Este sistema permite que la suma y resta funcionen igual independientemente del signo. Esta herramienta trabaja con enteros positivos; para negativos en tu código, ten en cuenta la representación de tu lenguaje.

¿Cuál es el rango máximo de números que puedo convertir?

Esta herramienta usa aritmética JavaScript estándar, que representa enteros exactamente hasta 2⁵³-1 (9,007,199,254,740,991 o aproximadamente 9 cuadrillones). Para números mayores, JavaScript pierde precisión. En binario, esto es un número de 53 dígitos. Si trabajas con hashes criptográficos de 256 bits o identificadores muy largos, necesitarás librerías de precisión arbitraria como BigInt en JavaScript moderno. Para la mayoría de usos prácticos (colores, permisos, direcciones), el rango estándar es más que suficiente.

© 2026
Roberto Hernando
|