找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1563|回复: 10
打印 上一主题 下一主题
收起左侧

这2个C语言语句的意义?

[复制链接]
跳转到指定楼层
楼主
两个与操作的意义是什么?谢谢大家

51hei图片_20221121145101.png (21.25 KB, 下载次数: 25)

51hei图片_20221121145101.png

51hei图片_20221121145935.png (14.84 KB, 下载次数: 33)

51hei图片_20221121145935.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2022-11-21 16:38 | 只看该作者
本帖最后由 xuyaqi 于 2022-11-22 07:39 编辑

上面一个 , sta.. 与   0x0008                    位与 的运算结果作为判断依据;
下面一个,sta.. 与(0x0018按位取反后)位与 的运算结果作为判断依据
回复

使用道具 举报

板凳
ID:709761 发表于 2022-11-21 17:03 | 只看该作者
xuyaqi 发表于 2022-11-21 16:38
上面一个 , sta.. 与   0x0008                    位与 的运算结果作为判断依据;
下面一个,sta.. 与(0 ...

不够详细
回复

使用道具 举报

地板
ID:94031 发表于 2022-11-21 18:24 | 只看该作者
本帖最后由 xuyaqi 于 2022-11-22 07:37 编辑

上面一个 ,                        0x0008 -》..000001000B,判断sta.. 倒数第4位是0还是1
下面一个,(0x0008按位取反后) -》..111110111B,判断sta.. 倒数第4位是0还是1
回复

使用道具 举报

5#
ID:824490 发表于 2022-11-21 18:59 | 只看该作者
本帖最后由 名字不是重点 于 2022-11-21 19:12 编辑

比如:

statusregister &(0x0008)=>
0x0008=B_0000_0000_0000_1000 :
"&" 即“与”运算,在这边就是判断statusregister这个变量的第3位是为“0”或为“1”,

statusregister &(~0x0018)=>
"~" 即数值取反的意思,即 B_ 0000_0000_0001_1000 取反,相当于0xFFFF - 0x0018 = 0xFFE7 ;
"&" 即“与”运算,在这边就是把statusregister这个变量的第3/4位置“0”,其它位不变。


如果还没看明白,可真得要拿起C的基本知识重温一下了。
回复

使用道具 举报

6#
ID:308903 发表于 2022-11-22 08:31 | 只看该作者
简单的来说: &" “与”运算,有0 出0 ,全1才是1,这么看,应该是判断 某位是否为1
然后,&" “与”运算 加上  取反, 就记住: 是1的那个位,置0 ,
回复

使用道具 举报

7#
ID:77589 发表于 2022-11-22 08:54 | 只看该作者
前一句是判断状态寄存器的bit3是否为‘1’;
后一句把状态寄存器的bit4和bit3清‘0’,之后再把状态寄存器的内容写到0x8000这个地址。
回复

使用道具 举报

8#
ID:709761 发表于 2022-11-22 09:00 | 只看该作者
名字不是重点 发表于 2022-11-21 18:59
比如:

statusregister &(0x0008)=>

回答的很好
回复

使用道具 举报

9#
ID:709761 发表于 2022-11-22 09:00 | 只看该作者
1261867136qq 发表于 2022-11-22 08:31
简单的来说: &" “与”运算,有0 出0 ,全1才是1,这么看,应该是判断 某位是否为1
然后,&" “与”运算  ...

回答的很好
回复

使用道具 举报

10#
ID:709761 发表于 2022-11-22 09:46 | 只看该作者
Longan.Wang 发表于 2022-11-22 08:54
前一句是判断状态寄存器的bit3是否为‘1’;
后一句把状态寄存器的bit4和bit3清‘0’,之后再把状态寄存器 ...

如果除BIT3外其他位为1。会不会造成判断错误
回复

使用道具 举报

11#
ID:824490 发表于 2022-11-23 16:53 | 只看该作者
李冬 发表于 2022-11-22 09:46
如果除BIT3外其他位为1。会不会造成判断错误

你去KFC消费,KTV失窃与你何干?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表