Calculadora de longitud de bits de un entero
Esta calculadora de longitud de bits determina el número mínimo de dígitos binarios necesarios para representar un entero no negativo.
Ejecutar — gratis
Introduzca un entero decimal y obtendrá su valor normalizado junto con la longitud exacta. Admite cantidades muy superiores a los límites habituales de 32 bits o 64 bits, pues conserva la entrada como texto antes de iniciar la aritmética exacta. Resulta útil para elegir anchos de almacenamiento, revisar límites de protocolos y comprobar supuestos de tamaño sin convertir cifras largas a mano.
Qué significa la longitud de bits de un entero
La longitud de bits de un entero positivo corresponde a la posición de su bit activo más alto cuando se empieza a contar en uno. También puede entenderse como la cantidad de dígitos de su escritura binaria sin ceros iniciales. Por ejemplo, 13 en decimal equivale a 1101 en binario, por lo que su longitud es 4. Todos los valores entre 8 y 15 necesitan 4 bits; 16 cruza una potencia de dos y requiere 5. El cero es un caso especial: no contiene bits activos y, por convención, su longitud es 0. La calculadora aplica directamente esa regla. El resultado describe únicamente la magnitud sin signo. No añade un bit de signo, no utiliza complemento a dos, no redondea a bytes ni incorpora el relleno exigido por un formato. Si necesita almacenar o transmitir el número, agregue después los bits de alineación, signo, etiqueta o trama que exija su sistema.
Cómo se mantiene la exactitud del cálculo
Envíe el entero como una secuencia de dígitos decimales, sin comas, espacios, punto decimal, exponente ni signos. Al tratar la entrada como texto se evita perder precisión antes del cálculo. Es importante porque muchos entornos representan los números comunes con coma flotante y dejan de distinguir todos los enteros cuando superan su rango seguro. Un valor que parece correcto en pantalla puede haberse redondeado antes de llegar a una operación binaria. La calculadora valida la secuencia completa, elimina los ceros iniciales irrelevantes, la convierte en un entero exacto de precisión arbitraria y desplaza el valor a la derecha hasta que no queda ningún bit activo. El número de desplazamientos es la longitud. Este método determinista evita errores logarítmicos cerca de potencias exactas de dos. La respuesta incluye el decimal normalizado para que usted pueda comprobar qué magnitud se midió.
Cómo aplicar el resultado en ingeniería
La longitud de bits cobra especial valor en los límites. Un resultado de 8 indica que la magnitud cabe en un byte sin signo; 9 obliga a usar al menos dos bytes si el almacenamiento se alinea por bytes. Un resultado de 32 cabe en un campo sin signo de 32 bits, mientras que 33 ya no. Puede usar la calculadora para revisar columnas de bases de datos, campos de protocolos binarios, serialización, rangos de identificadores, metadatos de compresión y vectores criptográficos. Compare bit_length con la capacidad real del campo de destino y no suponga que el número de dígitos decimales se traduce directamente a anchura binaria. Los formatos con signo interpretan el bit superior según sus propias reglas. Para controles por lotes o durante una compilación, invoque la API y contraste el ancho con su límite; el precio base es $0.002. Como no intervienen red, azar, reloj ni estado mutable, una entrada válida produce siempre el mismo resultado.
Qué puede hacer con ella
Elegir un ancho de almacenamiento sin signo
Compruebe si un identificador o contador máximo cabe en un campo sin signo de 8, 16, 32, 64 bits o de anchura personalizada.
Validar límites de un protocolo
Confirme que un valor decimal de prueba puede codificarse en el número fijo de bits de magnitud asignado por un protocolo binario.
Examinar valores de precisión arbitraria
Mida enteros fuera del rango seguro de los números de coma flotante sin perder los dígitos menos significativos antes del cálculo.
Preguntas frecuentes
¿Cuál es la longitud de bits de cero?
El cero tiene una longitud de 0 porque no contiene ningún bit activo. Es la convención habitual en las API de enteros de precisión arbitraria.
¿Se cuentan los ceros iniciales?
No. Los ceros iniciales no alteran el valor, por lo que se eliminan antes de calcular la longitud. La respuesta devuelve el valor normalizado.
¿Puedo calcular valores de más de 64 bits?
Sí. Envíe el valor como cadena decimal y el cálculo seguirá siendo exacto para enteros muy superiores a los tamaños de palabra habituales.
¿El resultado incluye un bit de signo?
No. Indica la anchura mínima de la magnitud sin signo. Las codificaciones con signo y en complemento a dos exigen un análisis específico del formato.
¿Por qué la entrada de la API debe ser una cadena?
Una cadena decimal conserva todos los dígitos. Un valor numérico puede haberse redondeado al superar el rango entero seguro de su entorno.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. El cálculo también puede ejecutarse gratis en el navegador, ya que es determinista y no necesita red.
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/bit-length-integer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"integer":"18446744073709551615"}'const res = await fetch("https://api.kit.forhosting.com/dev/bit-length-integer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"integer": "18446744073709551615"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bit-length-integer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"integer": "18446744073709551615"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bit-length-integer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"integer":"18446744073709551615"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"integer":"18446744073709551615"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bit-length-integer", 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
{
"integer": "18446744073709551615"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bit_length_integer",
"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. |