C语言里,变量的左移与右移的移出位是0是1应该如何辨别?用什么方式辨别比较好?

比如我有一串变量数据,通过对它进行移位操作,比如是右移,由于数据是二进制,那么移出位可能是0也可能是1,那么每当移出一个位的时候,我应该用什么方式是辨别移出来的是0还是1... 比如我有一串变量数据,通过对它进行移位操作,比如是右移,由于数据是二进制,那么移出位可能是0也可能是1,那么每当移出一个位的时候,我应该用什么方式是辨别移出来的是0还是1呢?有没有比较好的方法推荐??? 展开
 我来答
Arthurzss
2013-10-23 · TA获得超过1662个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:245万
展开全部
方法是先判断,后移位
比如x是char类型的
要左移,那么:判断(x & 0x80),然后再x<<1
要右移,那么:判断(x & 0x01),然后再x>>1
追问
这个我还是不太明白,能说得更详细一点吗?请给个详细一点的步骤。谢谢了!!!
追答
左移就先判断原来数据的最高位,然后进行左移操作
右移就先判断原来数据的最低位,然后进行右移操作
原来数据的最高或最低位不就是进行移位的移出位
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式