在C语言中>>是什么意思? 如temp=~((temp>>4)|0xF0);

 我来答
efanabe
推荐于2018-03-26 · TA获得超过2008个赞
知道小有建树答主
回答量:708
采纳率:0%
帮助的人:1123万
展开全部
位运算符:| 按位或 >>按位右移 ~ 按位取反
假定 int a=26,b=8;机器字长为8
则a|b的意思是将a,b换做二进制,a=00011010,b=00001000
从低位到高位依次按位做或运算,a|b=00011110;
>>是位右移,如果a>>2,则表示将a换做二进制,然后向右移动2位,左边补0。其规则是符号位被用来填充右移后左边空出来的位。向右移出的位被丢弃。此时a符号位为0,所以左边补0。
~是按位取反,就是将每个二进制位换做相反的位,0换做1,1换做0
无鱼之湖
2011-05-04
知道答主
回答量:31
采纳率:0%
帮助的人:25.1万
展开全部
右移表达式的位,保持符号不变。

result = expression1 >> expression2

参数
result

任何变量。

expression1

任何表达式。

expression2

任何表达式。

说明
>> 运算符把 expression1 的所有位向右移 expression2 指定的位数。expression1 的符号位被用来填充右移后左边空出来的位。向右移出的位被丢弃。例如,下面的代码被求值后,temp 的值是 -4:-14 (即二进制的 11110010)右移两位等于 -4 (即二进制的 11111100)。

var temp
temp = -14 >> 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaobolove520
2017-08-24 · TA获得超过310个赞
知道小有建树答主
回答量:317
采纳率:95%
帮助的人:21.6万
展开全部
其实 编程者就是想 获取 temp的高4位并取反的值,
比如 temp之前是 0010xxxx, --->转换后是 0000 1101
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hymin911
2011-05-04 · TA获得超过156个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:179万
展开全部
| 按位或 >>按位右移 ~ 按位取反
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砍侃看
2011-05-04 · TA获得超过6152个赞
知道大有可为答主
回答量:6584
采纳率:69%
帮助的人:2083万
展开全部
右移操作,每移动一位相当于除以一次2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式