C语言掩码

slmouse 2008-02-04 10:33:13
C语言里的掩码是怎么回事,网上没找到什么资料,谁给推荐个看的东西
...全文
766 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf_FienD 2008-02-14
  • 打赏
  • 举报
回复
???
Crazy_hand 2008-02-14
  • 打赏
  • 举报
回复
全都乱了!!~~~
00000010
01010110
-------------------------
1
Crazy_hand 2008-02-14
  • 打赏
  • 举报
回复
n = 0 0 0 0 0 0 1 0 ;
i = 0 1 0 1 0 1 1 0 ;

n & i

0 0 0 0 0 0 1 0
0 1 0 1 0 1 1 0
---------------
1


这个 “1” 就被称为“掩码”
HZH0613 2008-02-13
  • 打赏
  • 举报
回复
啥意思?
slmouse 2008-02-04
  • 打赏
  • 举报
回复
我的意思是说掩码的应用,不是经常会用这个来判断一个bit是不是为1么
CoffeeCN 2008-02-04
  • 打赏
  • 举报
回复
啥是C语言里的掩码
kou_ryou 2008-02-04
  • 打赏
  • 举报
回复
学习下,是ANSI C(2007版)新加的吗
Treazy 2008-02-04
  • 打赏
  • 举报
回复
掩码怎么是c语言的东西了?

不是语言中的定义!是应用中的定义!
vrace 2008-02-04
  • 打赏
  • 举报
回复
代码说话

#include <stdio.h>
#include <stdlib.h>

// 定义掩码
// 一定是 1 左移 n 位以后的值
// 就是 00000001, 00000010, 00000100, 这样的数
#define FEATURE_A 1
#define FEATURE_B 2
#define FEATURE_C 4
#define FEATURE_D 8
#define FEATURE_E 16

// 根据输入的掩码输出文字
void print_features(unsigned int flags)
{
printf("You have selected following features:\n");

if(flags & FEATURE_A) // 如果有掩码 A
{
printf("A");
}

if(flags & FEATURE_B) // 如果有掩码 B
{
printf("B");
}

if(flags & FEATURE_C) // 如果有掩码 C
{
printf("C");
}

if(flags & FEATURE_D) // 如果有掩码 D
{
printf("D");
}

if(flags & FEATURE_E) // 如果有掩码 E
{
printf("E");
}

printf("\n");
}

int main(void)
{
print_features(FEATURE_A | FEATURE_C | FEATURE_D);
return 0;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧