Calculadora entero sin signo a con signo
255 en 8 bits son todo unos, así que con signo vale −1: escriba un valor sin signo y un ancho de 2 a 53 bits para ver su lectura en complemento a dos, su patrón de bits y si el bit alto está activo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Valor
- 255
- Bits
- 8
- Con signo
- -1
- Sin signo
- 255
- Binario
- 11111111
- Min
- -128
Un valor como doscientos cincuenta y cinco guardado en ocho bits es todo unos; como uint8 vale doscientos cincuenta y cinco, pero como int8 el bit alto está activo y el mismo patrón significa menos uno. Estudiantes, desarrolladores embebidos y candidatos a entrevista necesitan un modo rápido y determinista de ver ese mapeo para cualquier ancho de dos a cincuenta y tres bits sin contar residuos a mano. Esta calculadora de entero sin signo a con signo acepta un valor no negativo y un ancho en bits, comprueba que el valor cabe en el rango sin signo de ese ancho y devuelve la lectura con signo en complemento a dos junto con el patrón de bits exacto y un indicador claro del bit alto. El desbordamiento fuera de cero hasta dos elevado al ancho menos uno se rechaza en lugar de envolver en silencio.
Cómo funciona la reinterpretación sin signo a con signo en complemento a dos
Fije un ancho en bits w de al menos dos. Todo patrón de bits de longitud w se puede leer de dos formas. Como entero sin signo es un número entero u desde cero hasta dos elevado a w menos uno.
Como entero con signo en complemento a dos el mismo patrón es u cuando el bit más significativo está en cero, y u menos dos elevado a w cuando ese bit alto está activo. Esa única regla explica por qué doscientos cincuenta y cinco en ocho bits se convierte en menos uno, por qué ciento veintiocho se convierte en menos ciento veintiocho (el valor más negativo de ocho bits) y por qué ciento veintisiete permanece positivo ciento veintisiete.
El algoritmo no invierte bits a mano: compara u con dos elevado a w menos uno (el umbral de media rango) y o bien devuelve u sin cambios o resta el módulo completo dos elevado a w. Cero siempre sigue siendo cero; el patrón de todos unos siempre se convierte en menos uno en cualquier ancho. Los valores deben permanecer dentro del rango de enteros seguros de JavaScript para que cada dígito sea exacto al serializar el resultado como número.
Las peticiones que no caben en el rango sin signo del ancho elegido —por ejemplo doscientos cincuenta y seis en ocho bits— se rechazan con un mensaje claro que indica el máximo permitido, en lugar de envolver a cero y ocultar un error de conversión que estudiantes o notas de firmware podrían confiar por accidente.
Qué puede hacer con ella
Deberes y laboratorios de organización de computadores
Compruebe qué se convierte cualquier byte o palabra sin signo bajo un cast con signo a anchos de 8/16/32 bits, incluidos el punto medio del bit alto y los casos de todos unos, frente a un único oráculo compartido.
Registros de firmware y volcados de protocolo
Reinterprete volcados de registros sin signo como deltas de sensores con signo o desplazamientos a un ancho fijo al revisar registros hexadecimales o decimales.
Preguntas frecuentes
¿Qué significa pasar de sin signo a con signo en complemento a dos?
A un ancho fijo w, el mismo patrón de bits es o bien el valor sin signo u en [0, 2^w−1], o bien el valor con signo u si el bit alto está en cero, y u − 2^w si el bit alto está activo. Los bits no cambian; solo cambia la interpretación.
¿Por qué 255 es igual a −1 en 8 bits?
255 es el patrón de todos unos. Con el bit alto activo, el complemento a dos define la lectura con signo como 255 − 256 = −1. El mismo patrón de todos unos es −1 en cualquier ancho.
¿Qué rango debe respetar value?
Value debe ser un entero no negativo en [0, 2^bits − 1]. Los resultados con signo quedan entonces en [−2^(bits−1), 2^(bits−1)−1].
¿Qué anchos de bits se admiten?
Anchos de 2 a 53 inclusive. Los anchos habituales en clase son 8, 16 y 32.
¿Cuánto cuesta la calculadora de entero sin signo a con signo?
La herramienta del navegador es gratuita y se ejecuta en local.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/unsigned-to-signed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":255,"bits":8}'const res = await fetch("https://api.kit.forhosting.com/dev/unsigned-to-signed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 255,
"bits": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/unsigned-to-signed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 255,
"bits": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/unsigned-to-signed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":255,"bits":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":255,"bits":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/unsigned-to-signed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"value": 255,
"bits": 8
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.unsigned_to_signed",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cuando se convierte un entero sin signo a un tipo con signo del mismo ancho en bits, los lenguajes modernos no cambian los bits: los reinterpretan en complemento a dos. Las llamadas API correctas usan el precio base publicado de $0.002 por elemento.
Cómo funciona la reinterpretación sin signo a con signo en complemento a dos
La implementación usa aritmética entera exacta sin redondeo en coma flotante, sin semillas aleatorias, sin reloj de pared y sin llamadas de red, de modo que entradas idénticas producen siempre el mismo JSON.
Contrato de entrada, forma de la respuesta y comportamiento ante errores
Si necesita codificar un entero con signo en una cadena de bits o decodificar una cadena de bits que ya tiene, use una página dedicada de conversor de complemento a dos en lugar de sobrecargar este contrato de reinterpretación de sin signo a con signo. Envíe por POST un cuerpo JSON con dos campos obligatorios: value, un entero no negativo a reinterpretar, y bits, el ancho de palabra de dos a cincuenta y tres. Value puede llegar como número JSON o como cadena de dígitos con un más opcional al inicio; se aceptan los alias u, unsigned, n y number. Bits puede llegar como número o cadena de dígitos; se aceptan los alias width, bit_width, nbits y w. Campos ausentes, cadenas vacías, NaN, Infinity, valores fraccionarios, valores negativos, anchos fuera de dos a cincuenta y tres, y valores mayores que dos elevado a bits menos uno fallan con invalid_input y no se cobran. En caso de éxito el cuerpo repite value y bits, devuelve signed (la lectura en complemento a dos), unsigned (el mismo residuo no negativo), binary (exactamente bits caracteres de cero y uno, bit alto a la izquierda), los booleanos high_bit_set e is_negative, el min y max con signo legales para el ancho, unsigned_max y method igual a twos_complement_reinterpret. Comprobaciones clásicas: value doscientos cincuenta y cinco con ocho bits da signed menos uno y binary todo unos; value ciento veintiocho con ocho bits da signed menos ciento veintiocho; y value cuarenta y dos con dieciséis bits permanece positivo cuarenta y dos con ceros a la izquierda. El precio de las llamadas API correctas es la base publicada de $0.002 por elemento; los fallos de validación no consumen saldo prepago.
Dónde aportan valor las calculadoras de sin signo a con signo
Los cursos de informática y diseño digital presentan el complemento a dos cuando los estudiantes conocen por primera vez los registros con signo y la sorpresa de que un byte grande sin signo puede significar un número negativo pequeño bajo una conversión con signo; un oráculo fiable que devuelve el valor con signo, el patrón de bits y un indicador del bit alto acelera las claves de respuesta y las demos de laboratorio sin fórmulas frágiles de hoja de cálculo. La documentación de firmware embebido y de protocolos lista campos de sensores guardados como volcados sin signo en registros que deben releerse como desplazamientos con signo o deltas de temperatura a ocho o dieciséis bits, de modo que los revisores comprueben el bit de signo de un vistazo. Las notas de compiladores y tiempos de ejecución explican cómo C, Java y Rust convierten uint8 o uint16 al tipo con signo correspondiente reinterpretando bits; los tutores comparan los ayudantes de conversión de los alumnos con un resultado con signo de referencia para cero, el punto medio, el máximo sin signo y todos unos. Como esta capacidad es un motor parse puro, el precio API es la base publicada de $0.002 por elemento correcto y la validación fallida no consume saldo. Trate la conversión bidireccional de entero con signo a binario, los volcados solo en hexadecimal, los patrones de bits de coma flotante IEEE y la extensión de signo entre anchos distintos como intenciones de búsqueda separadas con sus propias páginas, en lugar de estirar esta calculadora de sin signo a con signo más allá de su alcance honesto.
Casos de integración
Fixtures de prueba para ayudantes de cast
Genere valores con signo de referencia y patrones de bits para pruebas unitarias de ayudantes de cast del lenguaje sin calcular a mano los residuos de complemento a dos.