标题: P2=~(0x01<<i);请问这个表示什么意思啊,谢谢! [打印本页]

作者: tanghao8887    时间: 2018-10-25 21:09
标题: P2=~(0x01<<i);请问这个表示什么意思啊,谢谢!
请教一下大家,谢谢!
作者: iCekrY    时间: 2018-10-25 21:54
将0X01左移i位后取反 然后赋值给P2端口
比如此时i=1,0x01就是0000 0001,左移一位,右侧补0,变成0000 0010
取反,1111 1101 即0xfd
最后就是P0 = 0xfd
作者: 清如水    时间: 2018-10-25 22:02
把1左移i位然后取反送到P2端口。
作者: devcang    时间: 2018-10-25 22:20
P2=~(0x01<<i);

------------0x01<<i 向右移i位
------------~按位取反

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 小刘子啊咿呀哟    时间: 2018-10-25 22:22
0x01是指最低位为1,其余七位为0,P2=~(0x01<<i);这个就是将00000001左移i位后取反,比如说i=3,那么(0x01<<i)的结果就是00001000,取反后为11110111,然后将这个值赋给P2口,
作者: xaur    时间: 2018-10-26 08:48
先左移动i位,取反。赋值给p2
作者: yousunny    时间: 2018-10-26 09:06
以后遇到这个样的,看不懂语句,带入一个数字去,自己算一下就好了。实在不懂,再看相关C语言
作者: tanghao8887    时间: 2018-10-26 14:32
小刘子啊咿呀哟 发表于 2018-10-25 22:22
0x01是指最低位为1,其余七位为0,P2=~(0x01

听君一席话,胜读十年书,谢谢
作者: kkfy888    时间: 2018-10-26 15:50
devcang 发表于 2018-10-25 22:20
P2=~(0x01

向右??????????
作者: 奕辰、    时间: 2020-3-19 22:34
P2=P2<<1+0x01;   和P2=P2<<1;   P2=P2+1的区别是什么?
                              
作者: 北方少年    时间: 2020-3-20 16:15
把0x01向左移动i位
作者: 19857119144    时间: 2020-3-23 20:49
将0X01左移i位后取反 然后赋给P2端口,<<表示左移,>>表示右移,51单片机移位还可以使用_cror_(x,y)函数,使用时需要包含这个头文件#include <intrins.h>
里面具体的意义是_cror_(x,y)含义是二进制数x右移动y位;
常见的是
_crol_ 字符左移
_cror_ 字符右移
作者: TTQ001    时间: 2020-3-24 05:27
将值左移i位,然后该值取反并将其赋给端口P2




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1