title: How to make the 2-complement of a number without using adder
body: <p>In two-complement to invert the sign of a number you usually just negate every bit and add 1.
  For example:</p>
  
  <pre><code>011 (3)
  100 + 1 = 101 (-3)
  </code></pre>
  
  <p>In VHDL is:</p>
  
  <pre><code>a &lt;= std_logic_vector(unsigned(not(a)) + 1);
  </code></pre>
  
  <p>In this way the synthesizer uses an N-bit adder.</p>
  
  <p>Is there another more efficient solution without using the adder?</p>