title: Syntax/operators Java - What does this line mean?
body: <p>I've found one line in Java like this : <br></p>
  
  <pre><code>result |= (b &amp; 0x1f) &lt;&lt; shift;
  </code></pre>
  
  <p>I've searched about what operators do but I'm still not able to understand what it is supposed to do assuming <code>result</code>, <code>b</code> and <code>shift</code> are integer values.<br>
  Could anyone tell me what does this line is supposed to do ?<br></p>
  
  <p><b>Update</b> - Here is the sample part of the code found <a href="https://stackoverflow.com/a/17007360/2500326">here</a><br></p>
  
  <pre><code>int b, shift = 0, result = 0;
  do {
      b = encoded.charAt(index++) - 63;
      result |= (b &amp; 0x1f) &lt;&lt; shift;
      shift += 5;
  } while (b &gt;= 0x20);
  </code></pre>