piapia123
es

Calculadora de bases numéricas

Conversión

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Aquí se suman, restan, multiplican y dividen números en binario, octal, decimal y hexadecimal. Sin desbordamiento circular. Algunas calculadoras hexadecimales truncan el resultado a 32 o 64 bits (`0xFFFFFFFF + 1` da `0`): eso simula la palabra de una máquina, no hace aritmética. Una calculadora debería responder antes que nada cuánto suman los dos números. Cuando de verdad quieras máscaras o desbordamiento, usa la calculadora de bits, donde la anchura es un parámetro explícito y la reducción se ve. La división da cociente y resto, y no se convierte en decimal a escondidas. La división entera tiene dos convenciones en el mundo: truncar hacia cero (C, el BigInt de JavaScript) y redondear hacia abajo (Python). `-7 ÷ 2` da −3 con resto −1 en la primera y −4 con resto 1 en la segunda; ambas son correctas según lo que busques. Así que aquí no se toma partido: cuando no es exacta, el resto va al lado. El prefijo manda sobre la base elegida. Si escribes `0x`, `0o` o `0b`, se interpreta así aunque el desplegable diga otra cosa: no hay otra forma de escribir algo como `0b1010 + 0xFF`.

Funciones

  • Cuatro operaciones: suma, resta, multiplicación y división, con negativos
  • Base de entrada y de salida entre binario, octal, decimal y hexadecimal, y pueden ser distintas
  • El prefijo gana: mezclas como `0b1010 + 0xFF` se expresan así
  • La división da el cociente y, si no es exacta, el resto (truncando hacia cero)
  • Exacto con enteros de cualquier tamaño: `0xFFFFFFFF × 0xFFFFFFFF` no se trunca
  • Se añade una lectura decimal siempre que el resultado no esté en decimal
  • Un operando por línea, así que toda una lista se opera con el mismo número
  • Los guiones bajos y los espacios actúan como separadores de dígitos

Cómo se usa

  1. Pega el primer operando, uno por línea
  2. Elige la base de entrada y la operación, y escribe el segundo operando
  3. Cambia la base del resultado si lo quieres en otra
  4. Copia un valor concreto desde su fila

Preguntas frecuentes

¿Por qué el resultado es negativo en vez de un número grande tras el desbordamiento?
Porque esta herramienta hace aritmética, no simula la palabra de una máquina. `0x00 - 1` da `-0x1`, no `0xFFFFFFFF`. El desbordamiento depende del tamaño de palabra de un sistema real (32 bits, 64 bits u otro), y elegir uno por ti sería adivinar. Para reducir módulo una anchura fija, usa la calculadora de bits: ahí la resta desborda sola en cuanto eliges una anchura.
¿Qué pasa cuando la división no es exacta?
Obtienes un cociente y un resto, ambos enteros y ambos en la base que hayas elegido. En hexadecimal, `FF ÷ 10` es `F` con resto `F` (255 = 15 × 16 + 15). La razón es que la «división entera» tiene dos convenciones habituales —truncar hacia cero y redondear hacia abajo— que discrepan con los negativos (`-7 ÷ 2` es −3 con resto −1 o −4 con resto 1). Darte el resto evita tomar partido.
¿Admite fracciones?
No, por dos razones. `0.1` es una fracción periódica en binario, así que cualquier forma escrita es una aproximación; y la aritmética fraccionaria en hexadecimal no tiene ninguna convención común. La aritmética de enteros cubre la inmensa mayoría de las necesidades reales —desplazamientos de direcciones, máscaras, valores de color, campos de protocolo—, y para decimales lo adecuado son las herramientas decimales o una calculadora normal.

Herramientas relacionadas