[英]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.