ForHosting KIT · Utilidades de desarrollo

Calcular complemento a dos

Convierta en ambos sentidos con un ancho fijo: -18 en 8 bits es 11101110, y leer 11101110 con 8 bits devuelve -18, con anchos de 2 a 53 bits y sin desbordamientos silenciosos. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto

El complemento a dos es la representación de ancho fijo habitual para los enteros con signo en procesadores, formatos de archivo, registros y protocolos de red. Este conversor trabaja en ambos sentidos: indique un entero y un ancho de bits para obtener el patrón binario exacto, o introduzca un patrón binario y su ancho para recuperar el entero con signo. Cada solicitud se valida en lugar de ajustar silenciosamente los valores que no caben. Por eso, el resultado resulta útil para aprender, depurar, documentar y crear datos de prueba automatizados cuando un solo bit de signo puede cambiar el significado de todo un campo.

Elija el ancho antes de convertir

Un valor en complemento a dos solo tiene significado cuando se conoce su ancho. Los mismos bits finales pueden representar valores distintos si se interpretan como una palabra de ocho, dieciséis o treinta y dos bits, porque el bit situado más a la izquierda dentro del ancho elegido actúa como indicador de signo. Comience por seleccionar un ancho de 2 a 53 bits y después el sentido de conversión.

Para convertir de entero a binario, introduzca un número entero con signo. El conversor comprueba el intervalo legal, que va desde dos elevado a bits menos uno con signo negativo hasta dos elevado a bits menos uno, menos uno. Por tanto, una palabra de ocho bits acepta valores de -128 a 127.

Si el entero queda fuera de ese intervalo, la solicitud devuelve un error de entrada en vez de eliminar bits altos o producir un resultado circular engañoso. Este comportamiento estricto es útil al revisar definiciones de registros, límites de serializadores, ejercicios y diseños de datos. Un resultado correcto siempre contiene exactamente la cantidad de dígitos solicitada, incluidos los ceros iniciales de valores no negativos y los unos iniciales necesarios para una representación negativa de ancho fijo.

Comprenda cómo funcionan la codificación y la decodificación

Para un entero no negativo, la codificación utiliza la notación ordinaria en base dos y añade ceros a la izquierda hasta alcanzar el ancho elegido. Para un entero negativo, el conversor suma el valor a dos elevado al ancho y escribe ese residuo no negativo en binario. Esta definición modular equivale al procedimiento manual conocido de invertir todos los bits de la magnitud positiva y sumar uno, pero evita casos especiales y expresa directamente la operación matemática.

La decodificación invierte la regla. Primero, el conversor lee la cadena de bits como una cantidad sin signo. Si el primer bit es cero, esa cantidad ya es la respuesta con signo.

Si el primer bit es uno, resta dos elevado al ancho para recuperar el valor negativo. La entrada binaria solo puede contener ceros y unos y debe tener exactamente el número de caracteres declarado. Nunca se adivina el ancho, no se añade relleno al decodificar y no se recortan dígitos sobrantes.

Estas decisiones hacen previsibles los recorridos completos: cada entero aceptado se codifica en un único patrón exacto y la decodificación de ese patrón con el mismo ancho recupera el entero original.

Utilice representaciones exactas en tareas reales

Esta capacidad resulta útil siempre que deba compararse un valor decimal legible con un campo con signo de bajo nivel. Quienes desarrollan firmware pueden comprobar diferencias de sensores, registros de estado y ejemplos de protocolos antes de incorporarlos a la documentación. Quienes crean aplicaciones pueden generar datos de referencia para el empaquetado de bytes con signo, confirmar el comportamiento en los límites y averiguar si un valor sin signo inesperadamente grande es en realidad un número negativo en complemento a dos.

Los estudiantes pueden verificar sus cálculos viendo el patrón exacto de ancho fijo, en lugar de una forma binaria abreviada que oculte la extensión de signo. El cálculo es determinista, se ejecuta localmente en el proceso de análisis y no emplea modelos, servicios externos, fuentes aleatorias ni relojes. Mantenga el ancho declarado de acuerdo con el formato de almacenamiento examinado.

Si un protocolo define un campo de doce bits, decodifique los doce dígitos, incluidos los ceros o unos iniciales.

Comprobar valores de registros con signo

Convierta límites y ejemplos decimales documentados en patrones de bits de ancho exacto para revisar firmware y hardware.

Crear datos de prueba para serializadores

Genere resultados binarios estables para valores positivos, negativos, mínimos, máximos y cero.

Decodificar capturas de protocolos

Interprete un campo binario de ancho fijo como el entero con signo previsto por la especificación de un protocolo.

¿Qué intervalo cabe en un ancho determinado?

Un ancho de w bits almacena enteros con signo desde -2^(w-1) hasta 2^(w-1)-1.

¿Qué ocurre cuando un entero no cabe?

El valor nunca se ajusta ni se trunca.

¿Por qué debe coincidir la entrada binaria exactamente con el ancho?

El bit inicial de ese ancho determina el signo, por lo que adivinarlo o añadir relleno silenciosamente podría cambiar el resultado.

¿Cómo se codifica un número negativo?

Se suma el valor a dos elevado al ancho y el resultado se escribe en binario. Equivale a invertir todos los bits del número positivo y sumar uno, y por eso -18 en 8 bits se convierte en 11101110.

¿Cómo convierto un patrón de bits de nuevo en número?

Primero los bits se leen como un número sin signo. Si el bit de la izquierda es cero, esa ya es la respuesta; si es uno, se resta dos elevado al ancho, de modo que 11101110 con 8 bits da -18.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev2/two-complement-convert

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev2/two-complement-convert \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"integer_to_binary","bits":8,"integer":-18,"binary":"11101110"}'
{
  "mode": "integer_to_binary",
  "bits": 8,
  "integer": -18,
  "binary": "11101110"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.two_complement_convert",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

min_bits2
max_bits53
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Utilice representaciones exactas en tareas reales

Para automatizar, envíe el modo, el ancho y el campo entero o binario pertinente mediante la API; cada elemento correcto usa el precio base publicado de $0.002.

¿Puede convertir en ambos sentidos?

Sí. Use integer_to_binary para codificar un entero con signo y binary_to_integer para decodificar un patrón de ancho fijo.

¿Cuánto cuesta una solicitud API?

Cada elemento correcto de la API usa el precio base publicado de $0.002. Las entradas no válidas se rechazan antes de producir un resultado.

Ver la documentación completa del KIT →