Las máscaras de bits son terriblemente antiguas. No he podido encontrar una referencia a la primera, pero sin duda fueron populares por el advenimiento de los procesadores de 8 bits, y probablemente también se usaron en procesadores de 4 bits.
La idea detrás de las máscaras de bits es aprovechar el paralelismo a nivel de bits. Una computadora de 8 bits puede realizar la misma operación en modo bit a 8 bits a la vez si están empaquetados en una sola palabra nativa (lo que significa que se ajusta a un registro).
El nombre proviene de enmascaramiento, que es un enfoque general para cubrir áreas con las que no desea interactuar. Por ejemplo, considere esta plantilla para enmascarar las áreas de una pared (la plantilla se ha movido después de pintar para mostrar el patrón)

Lasmáscarastambiénseutilizanenfotografía,dondeseutilizaneltérmino"esquivar" en lugar de "plantilla". Puede usar una máscara para ocultar parte de la luz durante la impresión para aclarar un área.

Eltérminotambiénseusadirectamenteenlafotolitografía,queeslatécnicautilizadaparahacercircuitosintegrados.Lamáscaraevitaquelaluzlleguealafotoprotecciónpintadaenelchip,loquecreapatronesqueluegoconducenalospatronesfacinantesenelchip.(Lasiguienteimagenesunadelasmáscarasdel procesador Intel 8080A , si lo re curioso)

Delmismomodo,enelenmascaramientodebits,estáseleccionandolaspartesdelapalabraquedeseautilizar,enmascarandotodoelrestodelosbits.Enelsiguienteejemplo,usolaoperación"y" para enmascarar la entrada, de modo que solo se muestren los bits 3, 4 y 8. El resto están "enmascarados" de modo que son 0. La máscara que uso es 00110001
. Lo muestro a continuación con #
representando 0 y .
representando 1 porque eso hace que la apariencia visual de la máscara de bits sea similar a la de las máscaras físicas anteriores, y muestro una fila de "bits seleccionados" que muestra los bits de la salida que no se enmascararon (los "bits seleccionados" no son realmente una operación lógica que ocurre ... el procesador realmente va desde la entrada Y la máscara a la salida en un solo paso, pero creo que aclara la imagen visual)
Input 10010111
Mask ##..###. (aka 00110001)
-----------------------
(selected) 01 1
Input AND Mask 00010001
Como mencioné, la máscara de bits es terriblemente antigua porque aumenta la productividad del procesador de manera espectacular. En un procesador de 4 bits, puede hacer que el procesador sea 4 veces más rápido. En un proceso de 8 bits, o puede hacerlo 8 veces más rápido (solo en operaciones bitwise, por supuesto).
Un uso fascinante para esto es motores de ajedrez. El tablero de ajedrez tiene 64 casillas. Los motores modernos tienen enteros de 64 bits. Esto es un poco de suerte terriblemente conveniente, por lo que los motores de ajedrez a menudo lo aprovechan. Tienen los llamados " bitboards " que contienen las ubicaciones de las piezas. Esto te permite realizar todo tipo de optimizaciones, como buscar todos los movimientos de peones en un solo paso.