title: I don't get Golomb / Rice coding: It does make more bits of the input, or does it?
body: <p>Or, maybe, what I don't get is <a href="http://en.wikipedia.org/wiki/Unary_coding" rel="noreferrer">unary coding</a>:</p>
  
  <p>In <a href="http://en.wikipedia.org/wiki/Rice_coding" rel="noreferrer">Golomb, or Rice, coding</a>, you split a number <code>N</code> into two parts by dividing it by another number <code>M</code> and then code the integer result of that division in unary and the remainder in binary.</p>
  
  <p>In the Wikipedia <a href="http://en.wikipedia.org/wiki/Rice_coding#Example" rel="noreferrer">example</a>, they use 42 as <code>N</code> and 10 as <code>M</code>, so we end up with a quotient <code>q</code> of 4 (in unary: 1110) and a remainder <code>r</code> of 2 (in binary 010), so that the resulting message is <code>1110,010</code>, or 8 bits (the comma can be skipped). The simple binary representation of 42 is <code>101010</code>, or 6 bits.</p>
  
  <p>To me, this seems due to the unary representation of <code>q</code> which always has to be more bits than binary.</p>
  
  <p>Clearly, I'm missing some important point here. What is it?</p>