C语言中“>>”是什么意思14
发布网友
发布时间:2023-10-02 05:06
我来回答
共4个回答
热心网友
时间:2024-12-09 19:59
这是C语言中的“右移运算符”。一般情况下,他是按位操作。
特点:1.双目运算符,就像+、-、*、/一样,格式为(数1)>>(数2)
2.数1是被操作数,如被减数、被除数等;数2是右移位数。
3.优先级低,结合性:从左向右运算
如:9>>1=?表示将被移数向右移动一位
先将8表示为二进制数形式 0000 1001,再将最右一位抹掉,再在最左一位复制一遍原最左一位数字。即先变为 000 0100,再在最左补一位0,成为 0000 0100,即9>>1=4
再举一例:-9>>1=?
先将-9表示为二进制数形式 1111 0111,再将最右一位抹掉,再在最左一位复制一遍原最左一位数字。即先变为 111 1011,再在最左补一位1,成为 1111 1011=,即-9>>1=-5
综合以上二例,对于任意整数,x>>1的值,若x>=0则等于x/2;若x<0则等于(x-1)/2。
对于任意整数,x>>k的值,若x>=0则等于x/(2^k);若x<0则等于(x-2^k+1)/(2^k)。
热心网友
时间:2024-12-09 20:00
>>
表示右移运算符
用法:把一个数换成二进制数向右移动若干位!
例如:当a=017
//八进制
a=00001111
二进制
a=a>>2
就是把二进制向右移动2位,a=000011
同理有<<
用法相识
希望可以帮助你!!
热心网友
时间:2024-12-09 20:00
这个单独看没有什么意思,应该是两个东西,你最好贴出完整代码行看。
一般是这样的:
char c;
if(c!='a')//!=是“不等于”逻辑判断语句
热心网友
时间:2024-12-09 20:01
c语言中的%有以下用法
有取余的用法例如:10%3=1
还有就是赋值运算了例如假设a=9
a%=5%3
此题的意思就是a=a%(5%3)
结果为a=1
还有格式控制的意思
在输入输出时用的printf(“c
=%d\n”,c);