ForHosting KIT · Utilidades de desarrollo

Generador de máscara de bits

Cuatro unos seguidos desde el bit 0 forman la máscara 15: 0b1111 en binario y 0xf en hexadecimal. Indique el ancho y, si hace falta, el bit más bajo, y obtenga la máscara en las tres bases con su rango de bits. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Bits
4
Inicio
0
Obtiene
Máscara en decimal
15
Máscara en binario
0b1111
Máscara en hexadecimal
0xf
Bit menos significativo
0

Una máscara de bits de unos consecutivos es la pieza básica de campos de flags, cabeceras de protocolo empaquetadas y ventanas de registro en firmware y código de sistemas. Usted necesita N unos en fila, a veces desplazados a la izquierda para que el campo empiece en el bit k, y el mismo valor en binario para revisión bit a bit, en decimal para constantes y en hexadecimal para hojas de datos. Este generador de máscara de bits acepta el ancho en bits y una posición de inicio opcional del bit más bajo activo, aplica la fórmula clásica de uno desplazado a la izquierda por el ancho menos uno y luego por el inicio, y devuelve decimal, binario con prefijo 0b y hexadecimal con prefijo 0x, más el rango de bits inclusivo.

Cómo se construyen las máscaras de unos consecutivos

Una racha de unos consecutivos es la máscara que se usa cuando un campo de varios bits vive dentro de una palabra mayor. Si el campo tiene cuatro bits de ancho y se sitúa en el extremo menos significativo, la máscara es binario 1111, decimal quince, hex 0xf. Si ese mismo campo de cuatro bits empieza en el bit dos, se conservan los cuatro unos y se desplazan dos posiciones a la izquierda, obteniendo binario 111100, decimal sesenta, hex 0x3c.

Algebraicamente la racha sin desplazar es dos elevado al ancho menos uno, escrita en forma de desplazamiento como paréntesis abierto uno left-shift ancho paréntesis cerrado menos uno; multiplicar por dos elevado al inicio es el segundo desplazamiento a la izquierda. El bit cero es siempre el menos significativo, en línea con C, JavaScript, Rust y casi todos los manuales de CPU.

Dónde un generador de máscara de bits aporta valor

Autores de firmware y controladores definen cada día campos de estado y control empaquetados; generar la máscara una vez evita errores de uno al mover el campo en una revisión de silicio. Diseñadores de protocolo e ingenieros de ingeniería inversa documentan formatos de cable con constantes hex y necesitan diagramas binarios coincidentes para artículos y RFC. Autores de compiladores y máquinas virtuales emiten secuencias de máscara y desplazamiento para extraer bitfields y quieren un oráculo que coincida con la forma de libro de texto en suites de regresión.

Quienes enseñan operadores bit a bit pueden dar a los estudiantes el ancho y el inicio y comparar sus respuestas 0b y 0x manuscritas con un servicio determinista en lugar de un simulador de CPU completo.

Constantes de registro y flags empaquetados

Genere máscaras decimal, 0b y 0x para campos de registro multibit con ancho e inicio LSB, de modo que controladores y tablas de datasheet se mantengan coherentes.

Documentación de protocolos y formato de cable

Documente bitfields de cabecera con diagramas binarios y constantes hex derivados de la misma fórmula de unos consecutivos.

¿Qué significa el parámetro start?

start es la posición del bit activo más bajo, contando desde cero en el bit menos significativo.

¿Cómo creo la máscara de un campo que empieza en el bit 2?

Mantenga el ancho del campo e indique 2 como bit más bajo. Un campo de cuatro bits queda en binario 111100, decimal 60 y hexadecimal 0x3c: los mismos cuatro unos de 1111, desplazados dos posiciones a la izquierda.

¿Qué límites tienen el ancho y la posición inicial?

El ancho va de 1 a 53 bits, y el ancho más la posición inicial no puede pasar de 53. Así cada máscara es un entero que se mantiene exacto en decimal, binario y hexadecimal, sin redondeos.

¿El bit cero es el menos significativo?

Sí. El bit 0 es siempre el de menor peso, igual que en C, JavaScript, Rust y casi todos los manuales de procesadores, así que las posiciones coinciden con las de su hoja de datos.

¿Por qué el hexadecimal no lleva ceros a la izquierda?

Porque se muestra en minúsculas y sin relleno forzado, para que los campos cortos se lean de un vistazo: cuatro bits dan 0xf, no una cifra larga llena de ceros. El binario muestra igualmente solo los bits significativos.

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/dev/bit-mask-generate

¿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/dev/bit-mask-generate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bits":4}'
{
  "bits": 4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.bit_mask_generate",
  "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.

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.

Los límites mantienen cada resultado dentro de un entero seguro para que los clientes JSON no pierdan precisión.

Cómo se construyen las máscaras de unos consecutivos

Esta capacidad codifica exactamente esa identidad: mask equals open parenthesis open parenthesis one left-shift bits close parenthesis minus one close parenthesis left-shift start.

Contrato de entrada, límites y comportamiento de error

La implementación usa desplazamientos BigInt internamente para no caer en la trampa de treinta y dos bits con signo de los desplazamientos numéricos de JavaScript, y luego convierte a un Number seguro para el campo decimal. Envíe un cuerpo JSON por POST con bits obligatorio: un entero finito de uno a cincuenta y tres que indica cuántos unos consecutivos desea. start es opcional y por defecto es cero; si se indica debe ser un entero de cero a cincuenta y dos con la posición del bit activo más bajo. Como los números JSON comparten la mantisa IEEE de doble precisión, la restricción start más bits debe ser como máximo cincuenta y tres para que la máscara no supere dos elevado a cincuenta y tres menos uno, Number.MAX_SAFE_INTEGER. Las violaciones, bits ausente, no enteros, booleanos y cadenas vacías fallan con invalid_input nombrando la regla, y esos fallos no se facturan. Las llamadas correctas devuelven siempre la misma forma pura: bits y start ecoados, las tres bases, los índices de bit inclusivos y la cadena formula. Ejemplo: bits igual a ocho y start igual a cero produce mask_decimal doscientos cincuenta y cinco, mask_binary 0b11111111, mask_hex 0xff, lowest_bit cero, highest_bit siete. Ejemplo: bits igual a tres y start igual a cinco produce mask_decimal doscientos veinticuatro, binario 0b11100000, hex 0xe0, bits del cinco al siete activos.

Dónde un generador de máscara de bits aporta valor

Al ser parse de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente, y la entrada inválida no consume saldo. Mantenga las solicitudes pequeñas, fije las tres bases en las pruebas y obtendrá constantes de flag reproducibles para SDK, fragmentos CMS y workers en el borde sin montar su propia biblioteca local de manipulación de bits.

Enseñanza de desplazamientos y máscaras bit a bit

Permita que los estudiantes comprueben ((1 << bits) - 1) << start en deberes calificados sin contar unos a mano tras cada desplazamiento.

¿Cómo genero una máscara de bits de unos consecutivos?

Envíe bits (ancho, 1–53) y start opcional (índice LSB, por defecto 0). La API devuelve ((1 << bits) - 1) << start como mask_decimal, mask_binary (0b…) y mask_hex (0x…).

¿Por qué hay un límite de 53 bits?

Los números JSON usan dobles IEEE con mantisa de 53 bits. Mantener start + bits ≤ 53 garantiza que mask_decimal sea un entero seguro exacto sin pérdida de precisión.

¿El bit cero es el menos significativo?

Sí. La numeración de bits coincide con las convenciones habituales de CPU y lenguajes: desplazar a la izquierda por start mueve el campo hacia bits más significativos.

¿Cuánto cuesta el generador de máscara de bits?

La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago KIT a $0.002 por llamada correcta; la entrada inválida no se factura.

Ver la documentación completa del KIT →