title: what does | 0x01 do in C language?
body: <p>I have seen something like this in some of my coworkers code today :</p>
  
  <pre><code>I2C1ADB1= (slave_read_address | 0x01);
  </code></pre>
  
  <p>What does this | 0x01 part do? Does it end 1 at the end of the bits?</p>
  
  <p>Let's say I2C1ADB1=0b00000000. If I use above line, will the new I2C1ADB1 be 0b000000001? Will it also increase the bit count from 8 to 9?</p>