title: Exotic architectures the standards committees care about
body: <p>I know that the C and C++ standards leave many aspects of the language implementation-defined just because if there is an architecture with other characteristics, it would be very difficult or impossible to write a standard conforming compiler for it.</p>
  
  <p>I know that 40 years ago any computer had its own unique specification. However, I don't know of any architectures used today where:</p>
  
  <ul>
  <li><code>CHAR_BIT != 8</code></li>
  <li><code>signed</code> is not two's complement (I heard Java had problems with this one).</li>
  <li>Floating point is not IEEE 754 compliant (Edit: I meant "not in IEEE 754 binary encoding").</li>
  </ul>
  
  <p>The reason I'm asking is that I often explain to people that it's good that C++ doesn't mandate any other low-level aspects like fixed sized types<sup>†</sup>. It's good because unlike 'other languages' it makes your code portable when used correctly (Edit: because it can be ported to more architectures without requiring emulation of low-level aspects of the machine, like e.g. two's complement arithmetic on sign+magnitude architecture). But I feel bad that I cannot point to any specific architecture myself.</p>
  
  <p>So the question is: what architectures exhibit the above properties?</p>
  
  <p>† <code>uint*_t</code>s are optional.</p>