移位操作符,位操作符,在实际的编程中有什么作用

 我来答
秀乞群群
推荐于2016-05-04 · TA获得超过19万个赞
知道顶级答主
回答量:6.7万
采纳率:91%
帮助的人:2.5亿
展开全部
好吧,来几个例子……
注:C语言并没有规定用什么编码方案来表示数字,所以说位运算会增加“不可移植性”
(不过大多数C语言实现使用的编码方案都一样的……)

C/C++ code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

/* -------------判断整数x是奇数还是偶数------------- */
/* 1、常规做法:看除以2的余数 */
if (0 == x % 2)
偶数
else
奇数

/*2、 使用位运算 */
if (0 == x & 1)
偶数
else
奇数

/* -------------把r、g、b混合成32位颜色------------- */
#define MAP_RGB(r, g, b) (((r) << 16) + ((g) << 8) + (b))

/* -------------从一个32位色中取出r、g、b------------- */
#define PIXEL_GET_R(pix) (((pix) & 0xFF0000) >> 16)
#define PIXEL_GET_G(pix) (((pix) & 0xFF00) >> 8)
#define PIXEL_GET_B(pix) (((pix) & 0xFF))
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
51单片机中的工作寄存器是一种特殊的寄存器,它存储的数据可以在单片机的工作时钟周期内被修改。工作寄存器通常用于存储操作数、传输数据或执行其他常规操作。由于51单片机具有许多指令可以直接访问内部的工作寄存器,因此工作寄存器在单片机编程中具有重... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式