找回密码
 立即注册

QQ登录

只需一步,快速开始

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

C语言这个<<符号不是左移的意思啊?

[复制链接]
跳转到指定楼层
楼主
ID:895406 发表于 2021-3-25 09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO0CLR=(1<<16);  //P1.16置为低电平
IO0CLR 是输出清零寄存器,写入1时,为底电平,写入0时无效。
后面的(1<<16)是在p1.16这个引脚写入1吗?为啥不是1左移16位了 ?这个<<符号不是左移的意思啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:814525 发表于 2021-3-25 11:32 | 只看该作者
IO0CLR=(1<<16); 实际就是IO0CLR=0x8000; 1<<16二进制就是1000 0000 0000 0000, IO0CLR最高位对应的就是P1.16

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:895406 发表于 2021-3-25 14:16 | 只看该作者

IO0CLR=(1<<16);  这个代码就是第16个引脚写入1,是不是这个意思?怎么送你黑币了 ?
回复

使用道具 举报

地板
ID:213173 发表于 2021-3-25 21:00 | 只看该作者

1<<16=65536,二进制是 1 0000 0000 0000 0000
回复

使用道具 举报

5#
ID:738987 发表于 2021-3-25 22:47 | 只看该作者
是的 << 左移 >> 右移
回复

使用道具 举报

6#
ID:895406 发表于 2021-3-26 08:46 | 只看该作者


1<<16=65536 咋为65536 这个我就看不懂了
回复

使用道具 举报

7#
ID:743654 发表于 2021-3-26 08:54 | 只看该作者

1<<16位就是1 0000 0000 0000 0000=2^16=65536,目的就是把P1.16位置1,其他位不变。类似的你想把P1.8位置1就是IO0CLR=(1<<8);

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:895406 发表于 2021-3-26 09:12 | 只看该作者

嗯 ,明白了,谢谢,咋送你黑币?
回复

使用道具 举报

9#
ID:89515 发表于 2021-3-26 09:23 来自手机 | 只看该作者
你写的是清零寄存器,如果它要有效就必须置一。也就是置一的时候达到清零的效果,但是清零不是清的输出清零寄存器而是输出寄存器。这是两个寄存器的应用。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:744327 发表于 2021-3-26 09:46 | 只看该作者
1<<16=65536  将1左移16位后,是65536

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:207421 发表于 2021-3-26 13:52 | 只看该作者
1. 左移<<就是右边添0,左移<<16就是右边16个0
2. 那么结论就是 1=0001, 0001<<16 结果就是   1 0000 0000 0000 0000  十进制就是 65536

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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