1<<0的运算结果还是1么?

作者&投稿:简胃 (若有异议请与网页底部的电邮联系)
~

1 << 0 是把1按2进制左移0位,结果还是 1 。

<< 是左移运算符,>> 右移运算符。C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。

关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

扩展资料:

C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。

C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。

而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。

参考资料来源:百度百科——c语言运算符号 




凤县19590506028: 关于C语言中的!0的值为什么是1,还有就是1&&0的运算为什么是0 -
羽咏十味: 你把1,0当对错看么,不是对的就是错的呗.&&运算还是当对错看,只有全部都是对的时候,它总的来讲才是对的,所以1&&0是0

凤县19590506028: 在c语言中1<0<2是多少? -
羽咏十味: false

凤县19590506028: 结合具体的数的运算,归纳有关特例,然后比较下列代数式的大小.(1)已知0,=,<)(2)如果a<0,给出:a=- 1 2 ,a=-0... -
羽咏十味:[答案] (1)如12>14=122,13>132=19,14>142=116,01a2;(2)a=-12,1a=-2,a>1a;a=-0.25=-14,1a=-4,a>1a,当-11a;a=-2,1a=-12,1a>a;a...

凤县19590506028: #include<stdio.h> void main() { int a=0; printf("%d",1<=a<=5); } 为什么输出1
羽咏十味: 1&lt;=a&lt;=5 这个做法可不对哦, 首先 1&lt;=a 这个的结果是 0 然后 0&lt;=5 这个成立 最终结果 1 (1&lt;=a)&lt;= 5 大致是这样

凤县19590506028: 表达式 A+B>C+D AND A>=5 OR NOT C>0 OR D<0 当A=5,B=7,C= -- 2,D=1时的运算结果是
羽咏十味: 运行结果:5+7&gt;1+1 AND 5&gt;=5 OR not -1&gt;0 OR 1&lt;0 可得出:1 and 1 or 1 or 0 所以结果为 1

凤县19590506028: c语言逻辑运算符是怎么运算的?像如果a=5 b=9 那么a&&b得的是什么.a||b呢? -
羽咏十味: 逻辑运算符的操作数是逻辑值,只有两个值,一个是0,另一个是非0. 对于"逻辑与"运算符"&&",只要两个操作数都非零时,结果才是真(非零),其他情况都是假(零). 对于"逻辑或"运算符"||",只要有一个操作数为真,则结果就为真,只有二操作数都为假时,结果才是假. 如a = 5,b = 9,c = 5,那么 a&&b为真,a&&b&&c也为真,而(a-c)&&b为假,(a-c)||b为真.

凤县19590506028: 单片机 某为清0的问题 -
羽咏十味: 这个你推算一下就出来了1&lt;&lt;PC3,就会将1左移PC3个位,做一个中间量使需要清零的位的位置变为1,然后取反,那么,就是除了清零的位置成为0,其它位为1,然后与寄存器作与运算,结果就是该位清零 而0&lt;&lt;PC3结果始终为0,那么做与运算,就会将整个数据清零.例:PC3为4 则1&lt;&lt;4 为 00010000B,取反为11101111,与数据做与,将只会清除中间为0的那一位 而0&lt;&lt;4 为 00000000B,相与之后,结果所有位全为0了

凤县19590506028: t(t - 1)&lt;0如何计算 -
羽咏十味: 先让他等于0,让后在看不等式符号 ,如果是大于号就让取得的结果大于较大的.小于较小的;如果不等式符号是小于号则让结果大于较小值然后在大于较大值.

凤县19590506028: 1 and 2 逻辑运算和1&2按位的逻辑运算结果是分别是 -
羽咏十味:a+b>c&&b==c:a+b>c(3+4>5:为真;b不等于c,为假=>结果为0.因为c中只有真和假,分别用1和0表示,非0即为真). a||b+c&&b-c:b+c为非0(真),“||”符号和任何真的数做运算必定为真;同时,b-c为-1,也是真.结果为真(1). !(a>b)&&!c||1:(a>b)为假,取反为真;c||1也是真,结论也是真(1).!(x=a)&&(y=b)&&0:x=a是赋值运算,先把a赋值给x,判断x是否为0(真还是假),显然是真,取反为假.&&与任何假的数与运算必定为假.结论是0i(a+b)+c-1&&b+c/2 :对不起,你的i是几?还有,没有i(a+b)这个表达式,是不是i*(a+b)?

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网