单片机c语言问题 - 爱问答

(爱问答)

单片机c语言问题

void 74hc595(uint dat) //dat=0x85=10000101
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<1;
}
右移7位是00000001接下来为什么左移1位就是00001010不应该是00000010吗?
大神告知

①SER=dat>>7;的执行过程是:把dat的值10000101右移7位后的值00000001,赋值给SER,所以SER=00000001;但并没有赋值给dat,dat还是原来的值10000101。
②再执行dat<<1;即dat=10000101左移1位,移位后的值为00001010(注意到此值并未赋给dat)。

相关标签:c语言

下一篇:笔记本电脑怎么有效的散热

上一篇:PCB板上B1、B2是什么元件?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?