Convertidor de Sistemas Numéricos (BIN/HEX/DEC/OCT) con Números Negativos
El mundo de las computadoras funciona con ceros y unos, pero la gente piensa en decimales. ¿Y los programadores? Ellos deben entender todo lo que hay en el medio. Ya sea que estés depurando código de bajo nivel, configurando colores en CSS, calculando máscaras IP o resolviendo tareas de informática, te enfrentarás a la necesidad de convertir números entre diferentes sistemas.
Las calculadoras comunes en Windows o en el móvil suelen ser lentas e incómodas. Nuestro convertidor inteligente de sistemas numéricos ha sido diseñado por desarrolladores para desarrolladores. Ofrece conversión instantánea en tiempo real, soporte para números extremadamente grandes y, como una de las pocas herramientas en línea, maneja correctamente los números negativos en formato binario.
¿Qué puede hacer este convertidor de sistemas numéricos?
Al desarrollar este widget, nos hemos centrado en resolver los problemas más comunes de los programadores:
- Reactividad en tiempo real: No hay botón de “Calcular”. Empiece a escribir en el campo HEX e inmediatamente verá cómo cambian BIN y DEC.
- Soporte para números negativos (Signed Integers): La mayoría de los convertidores en línea fallan al escribir
-5. Nosotros no. Gracias a la opción de profundidad de bits (8, 16, 32, 64 bits), simulamos el comportamiento exacto del procesador utilizando el llamado complemento a dos. - Legibilidad del código binario: Mirar
1110101011011110es agotador para la vista. Nuestra herramienta puede formatear automáticamente la salida cada 4 bits (nibbles) a1110 1010 1101 1110, lo que reduce drásticamente los errores al transcribir. - Soporte BigInt: ¿Necesita convertir un número de 64 bits o un hash? JavaScript estándar se detiene en el número $2^{53}$. Nuestro motor puede manejar números de cualquier longitud en modo “Solo positivos” (Unsigned).
Guía de sistemas numéricos: ¿Cuándo usar cada uno?
1. Sistema decimal (DEC - Decimal)
- Base: 10 (dígitos 0-9)
- Uso: Vida cotidiana, finanzas, conteo de bucles en código.
- Dato interesante: Las computadoras no lo entienden, deben convertirlo a binario.
2. Sistema binario (BIN - Binary)
- Base: 2 (dígitos 0, 1)
- Uso: Código máquina, puertas lógicas, enmascaramiento de direcciones IP.
- Consejo: Cada dígito representa un bit. 8 bits forman 1 byte (Byte).
3. Sistema hexadecimal (HEX - Hexadecimal)
- Base: 16 (dígitos 0-9, letras A-F)
- Uso: Escritura compacta de código binario. Un carácter HEX representa exactamente 4 bits (nibble). Dos caracteres (por ejemplo,
FF) representan un byte completo. - Ejemplos:
- Colores en la web:
#FF5733(Rojo, Verde, Azul). - Direcciones MAC:
00:1A:2B:3C:4D:5E. - Volcados de memoria (Memory dumps).
- Colores en la web:
4. Sistema octal (OCT - Octal)
- Base: 8 (dígitos 0-7)
- Uso: Computadoras históricamente más antiguas, hoy en día especialmente permisos de Linux (chmod).
- Ejemplo: El comando
chmod 755establece los permisos rwx-rx-rx (lectura, escritura, ejecución).
¿Cómo trabajar correctamente con números negativos?
Esta es la función más avanzada de nuestro convertidor. En la memoria de la computadora, no existe el signo “menos”. Para que una computadora almacene un número negativo, usa con mayor frecuencia el método del complemento a dos (Two’s Complement).
Sin embargo, el resultado de la conversión de un número negativo depende de cuántos bits tenga asignada la variable. Por eso, en la barra superior encontrará el selector de Profundidad de bits.
Ejemplo: ¿Cómo se ve el número -5?
Pruébelo usted mismo en nuestro convertidor:
-
Establezca la profundidad en 8-bit.
- Ingrese en DEC:
-5. - Resultado HEX:
FB. - Resultado BIN:
1111 1011. - Explicación: $256 - 5 = 251$ (lo cual es FB).
- Ingrese en DEC:
-
Establezca la profundidad en 16-bit.
- Ingrese en DEC:
-5. - Resultado HEX:
FFFB. - Explicación: Como tenemos más espacio, los “unos” llenarán el resto del espacio a la izquierda.
- Ingrese en DEC:
-
Establezca la profundidad en Solo positivos (Unsigned).
- Si ingresa
-5, el campo se pondrá rojo. Este modo no admite números negativos porque requeriría un número infinito de unos.
- Si ingresa
Consejo profesional: Si trabaja con colores o direcciones IP, use siempre el modo “Solo positivos”. Si está haciendo tareas de C/C++ o ensamblador, cambie a 32-bit o 64-bit.
Tabla de conversiones rápidas (Hoja de trucos)
Para una referencia rápida, aquí están los valores básicos que todo “informático” debería saber de memoria.
| Decimal (DEC) | Hexadecimal (HEX) | Binario (BIN) | Nota |
|---|---|---|---|
| 0 | 00 | 0000 | Cero |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | Valor máximo de 4 bits (Nibble) |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | Valor máximo para 8-bit con signo (char) |
| 255 | FF | 1111 1111 | Valor máximo para 8-bit sin signo (byte) |
| 65 535 | FFFF | … | Valor máximo para 16-bit |
Preguntas frecuentes (FAQ)
¿Qué significa "Profundidad de bits"?
Determina cuánta memoria tenemos reservada para el número.- 8-bit: Valores de 0 a 255 (o de -128 a 127). Corresponde al tipo
charobyte. - 16-bit: Valores hasta 65 535. Corresponde al tipo
short. - 32-bit:
intestándar en lenguajes modernos. - 64-bit: Para números muy grandes (
long long,BigInt).
¿Por qué el número 255 se escribe como FF en HEX?
El sistema hexadecimal tiene 16 dígitos (0-9 y A-F), donde F tiene un valor de 15. El númeroFF se calcula como: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
¿Cómo convierto un color HEX a RGB?
Un color en la web, por ejemplo,#E05412, se compone de tres bytes: Rojo (E0), Verde (54), Azul (12).
Ingrese "E0" en nuestro convertidor en el campo HEX -> obtendrá 224.
Ingrese "54" -> obtendrá 84.
Ingrese "12" -> obtendrá 18.
El resultado es rgb(224, 84, 18).
¿Qué significan los prefijos 0x, 0b o 0o?
Para que los programadores distingan los sistemas, se utilizan prefijos:0x= Hexadecimal (ej. 0xFF)0b= Binario (ej. 0b101)0o= Octal (ej. 0o755)
¿Por qué el campo se puso rojo?
Esta es una función de validación de entrada. Significa que ha ingresado un carácter que no pertenece a ese sistema numérico. Por ejemplo:- La letra "G" en HEX (solo se permite A-F).
- El dígito "2" en BIN (solo se permite 0 y 1).
- El dígito "8" en OCT (solo se permite 0-7).