title: What is the meaning of "producing negative zeroes" in a system that doesn't support it?
body: <p>C17 6.2.6.2/4 says:</p>
  
  <blockquote>
    <p>If the implementation does not support negative zeros, the behavior of the &amp;, |, ^, ~, &lt;&lt;,
    and >> operators with operands that would produce such a value is undefined.</p>
  </blockquote>
  
  <p>If I have a 2's complement system, it does not support negative zeroes. And it always utilizes all possible combinations of a binary number to express a value. Therefore it is impossible to ever produce a negative zero, no matter which bitwise operation that is used. So what is the meaning of this text?</p>
  
  <p>My take is that this part refers to systems with 1's complement or signed magnitude that does not support negative zeroes, but instead use a padding bit or trap representation. Is this correct?</p>