title: Misunderstanding of the usage of right shift in "Beginning C from Novice to Professional"
body: <p>I am not sure how this right shift is equal to 0:
  I understand how shifting works but why does the author say it equals in binary zero but a different result in decimal? Isn't binary zero the same as decimal zero?</p>
  
  <p>0000</p>
  
  <p>Also how does it even equal binary zero?</p>
  
  <blockquote>
    <p>unsigned int value = 65372U;</p>
    
    <p>As a binary value in a 2-byte variable, this is:</p>
    
    <p>1111 1111 0101 1100</p>
    
    <p>Suppose you now execute the following statement:</p>
    
    <p>unsigned int result = value >> 2; /* Shift right two bits */</p>
    
    <p>The bits in value will be shifted two places to the right, introducing
    zeros at the left end, and the resultant value will be stored in
    result. In binary this will be 0, which is the decimal value 16343.</p>
    
    <p>0011 1111 1101 0111</p>
  </blockquote>