C程序中,左移“<<”、右移“>>” 的具体用法是什么?

C程序中,左移“<<”、右移“>>” 的具体用法是什么?,第1张

C语言中,“<<”为左移运算符,“>>”为右移运算符。

具体使用方法如下:

1、左移运算符(<<)

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

例:a

=

a

<<

2

将a的二进制位左移2位,右补0,

左移1位后a

=

a

*

2

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以汪颂2。

2、右移运算符(>>)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右困唯郑边丢弃。

*** 作数每右移一位,相当于该数除以2。

例如:a

=

a

>>山旅

2

将a的二进制位右移2位。

左补0

or

补1

得看被移数是正还是负。

# include "reg51.h" // 包含头文件

#define uchar unsigned char

void delay02s(void) // 延时0.2s子程序

{

unsigned char i,j,k;

for ( i=2;i>0;i-- )

for (j=200;j>0;j-- )

for (k=250;k>0;k-- );

}

void main (void) // 主函数

{

uchar i,j;

while (1) // 死循环

{

j=0x01; // j初始化为0x01,左移初始值

for(i=0;i<8;i++) // for循环语句,完成8个循环侍信散

{

P1= ~ j; // 对变量j 中的值按位取反后,从P1口输出

delay02s( ); // 延老氏时0.2s

j= j<<1; // 左移1位

}

j=0x80;坦塌 // 设置右移初始值j为0x80

for (i=0;i<8;i++)

{

P1= ~ j;

delay02s( );

j= j>>1; // 右移1位

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12541037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存