编程含义)
目录三种典型用法1. 提取某些位mask 变量2. 设置某些位变量 | mask3. 清除某些位变量 ~mask不同领域的 mask1底层 C/C/Java 位掩码最原始含义2图像处理 mask3网络编程 netmask 子网掩码4深度学习 / AI mask5操作系统、内核记忆口诀简单区分mask 直译掩码、遮罩本质就是一串二进制位用来做位运算筛选、屏蔽、修改某些 bit 位。 核心思想用 mask 的 0/1决定目标数据哪些位保留、哪些位清零、哪些位翻转。常见配套位运算(与)、|(或)、^(异或)三种典型用法1. 提取某些位mask 变量mask 中需要保留的位设为1要丢弃的位设为0val: 0b 1011 0101 mask: 0b 0000 1111 // 只保留低4位 result val mask → 0b 0000 0101例子取一个 int 的低 8 字节、提取状态位。2. 设置某些位变量 | maskmask 需要置 1 的位写1其余 0把目标的某些 bit 强制打开val: 0b1000 0000 mask: 0b0000 0011 res val | mask → 0b1000 00113. 清除某些位变量 ~mask~mask把 mask 按位取反对应位置清零。不同领域的 mask1底层 C/C/Java 位掩码最原始含义比如权限标记java// 权限掩码 public static final int READ 1 0; // 0b001 public static final int WRITE 1 1; //0b010 public static final int EXEC 12; //0b100 int permission READ | WRITE; //同时拥有读、写 if( (permission READ) !0 ){ /*有读权限*/ }这里READ、WRITE就是 mask 掩码。2图像处理 mask图像 mask遮罩图一部分像素生效一部分被遮挡忽略。 mask 图白色区域 生效黑色 被屏蔽。3网络编程 netmask 子网掩码255.255.255.0二进制 mask区分 IP 的网络位和主机位。4深度学习 / AI maskattention mask注意力掩码屏蔽 padding 占位 token不让模型看到无效位置mask 矩阵某些位置设置为-inf计算的时候直接忽略。5操作系统、内核signal mask 信号掩码屏蔽某些信号暂时不接收。记忆口诀mask 过滤器模板用 bit 的 0 和 1规定哪些位要留下来哪些要遮住丢掉。简单区分mask 为 1参与运算、保留、生效mask 为 0屏蔽、清零、忽略