[英]What does hibyte = Value >> 8 meaning?
我正在使用C开发程序,并从示例代码中找到了
unHiByte = unVal >> 8;
这是什么意思?? 如果unVal = 250
。 unHiByte的值是什么 ?
我对此真的感到困惑。请帮助。
提前致谢..
编程中的“ >>”是按位运算。 操作>>表示右移操作。 因此,unVal >> 8表示将unVal右移8位。 将位右移可以解释为将值除以2。
因此,unHiByte = unval >> 8表示unHiByte = unVal /(2 ^ 8)(将unVal除以2八次)
无需进入移位运算符本身(因为已经回答了),这里的假设是unVal是一个两个字节的变量,具有一个高字节(高8位)和一个低字节(低8位)。 目的是获得仅由高8位并舍弃低位所产生的值。
移位运算符虽然可以通过任何书籍/教程轻松学习,但这也许是某个人否决了该问题的原因。
>>
是按位右移 。
它按位操作。 用unHiByte = unVal >> 8;
当unVal=250
。
右移表示将位向右移。 因此,当您将1111 1010
右移8位时,您将得到0000 0000
。
注意:您可以通过将>>
左边的数字除以2 ^( >>
右边的数字)来轻松确定右移运算结果。
因此, 250/2
8 = 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.