急求 c语言>>= 双目运算符 dat >>= 1; 是什么意思 详细过程
答案:3 悬赏:50
解决时间 2021-01-04 13:50
- 提问者网友:沉默的哀伤
- 2021-01-03 13:53
急求 c语言>>= 双目运算符 dat >>= 1; 是什么意思 详细过程
最佳答案
- 二级知识专家网友:一叶十三刺
- 2021-01-03 14:33
移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。
所以dat>>=1也就是dat = dat>>1相当于dat除以2
所以dat>>=1也就是dat = dat>>1相当于dat除以2
全部回答
- 1楼网友:一袍清酒付
- 2021-01-03 16:42
先要看一下>>和=他们的优先级,之后进行运算,>>是右移运算符,应该是讲dat右移一位之后将右移后的值在赋值给dat,就这么简单
- 2楼网友:等灯
- 2021-01-03 15:33
右移运算符
表示dat向右移一位
例如a=2,二进制表示为10
a>>1,a向右移一位,二进制位01
a的值为1
表示dat向右移一位
例如a=2,二进制表示为10
a>>1,a向右移一位,二进制位01
a的值为1
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯