title: Strange definition of FALSE and TRUE, why?
body: <p>In some code I am working on I have come across strange re-definitions of truth and falsehood. I have seen such things before to make checks more strict/certain, but this one is a little bizarre in my mind and I wonder if anyone can tell me what could be a good reason for such definitions, see below with my comments next to them:</p>
  
  <pre><code>#define FALSE (1 != 1) // why not just define it as "false" or "0"?
  #define TRUE (!FALSE)  // why not just define it as "true" or "1"?
  </code></pre>
  
  <p>There are many other strange oddities in this code base. Like there are re-definitions for all the standard types like:</p>
  
  <pre><code>#define myUInt32 unsigned integer // why not just use uint32_t from stdint?
  </code></pre>
  
  <p>All these little "quirks" make me feel like I am missing something obvious, but I really can't see the point :(</p>
  
  <p><strong>Note:</strong> Strictly this is c++ code, but it could have been ported from a 'c' project.</p>