单片机中怎样把左移补0变成左移补1.

比如 P1=0xfe,我要想左移补的是1.
这样行不行P1=P[]0x11

第1个回答  推荐于2017-06-16
左移后,可以用pow()函数叠加。假设移了a位,
do
{
P1+=pow(2,a-1);
a--;
}while(a=0);本回答被网友采纳
第2个回答  2012-05-08
采用按位取反的方式。
P0 = 0X7F; //P0.7亮亮
for(i=0; i<7; i++) //移位7次
{
P0=~(~P0>>1);
Delay(50);
}
P0 = 0xFE;
for(i=0; i<7; i++)
{
P0=~(~P0<<1);
Delay(50);
}
第3个回答  2017-06-16
先左移,再 按位或 1
第4个回答  2012-03-14
左移之后与0x01与不就可以了
第5个回答  2012-03-07
P1=P1<<1¦P 1>>7,即可,这样就可以直接实现流水灯的功能了,不知道楼主的意思是不是这个,爪机打得,中间那个符号应该是c语言的与本回答被网友采纳