永发信息网

shift=(shift<<1)|0x01这里是什么意思来着 各位大哥大姐帮帮忙啊,单片机C语言的

答案:4  悬赏:80  手机版
解决时间 2021-02-22 03:25
  • 提问者网友:轻浮
  • 2021-02-21 21:13
shift=(shift<<1)|0x01这里是什么意思来着 各位大哥大姐帮帮忙啊,单片机C语言的
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-02-21 21:28
shift<<1表示将shift的二进制数左移一位,相当于十进制数乘以2
譬如shift=18,假设shift是unsigned char类型的,那么shift有8个字节,二进制数是00010010,左移1位以后,变成00100100,也就是10进制的36
然后|0x01,就是按位求或运算,1|1=1,1|0=1,0|0=0,0|1=1
00100100 | 00000001=00100101
全部回答
  • 1楼网友:轻熟杀无赦
  • 2021-02-21 23:19
2进制最低位置1
  • 2楼网友:上分大魔王
  • 2021-02-21 23:03
这应该是在for语句里的,就是把一个数据的八位用循环的方式一位一位的赋给shift。循环8次之后shift的值就是原来的值(一般是某个I/O口的数据)。
  • 3楼网友:舍身薄凉客
  • 2021-02-21 22:52
你好! shift=(shift<<1)|0x01 重新给shift 赋值啊 shift<<1, shift左移一位然后和 0x01相或 意思就是不管shift移位操作后高7位值,只保证第0位是1 如有疑问,请追问。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯