title: What is the "double tilde" (~~) operator in JavaScript?
body: <p>I'm seeing this in some code, and I have no idea what it does:</p>
  
  <pre><code>var jdn = function(y, m, d) {
    var tmp = (m &lt;= 2 ? -1 : 0);
    return ~~((1461 * (y + 4800 + tmp)) / 4) + 
           ~~((367 * (m - 2 - 12 * tmp)) / 12) - 
           ~~((3 * ((y + 4900 + tmp) / 100)) / 4) + 
           d - 2483620;
  };
  </code></pre>
  
  <p>What's the <code>~~</code> operator do?</p>