title: Why is sizeof(unsigned double) equal to 4?
body: <p>A colleague of mine asked if there is unsigned double, and I said there isn't, but I still checked it, and this compiles in <a href="http://en.wikipedia.org/wiki/Visual_C++#32-bit_and_64-bit_versions">Microsoft Visual C++ 2010</a>:</p>
  
  <pre><code>unsigned double a;
  double b;
  printf("size_a=%d size_b=%d", (int) sizeof(a), (int) sizeof(b));
  </code></pre>
  
  <p>It outputs <code>size_a=4 size_b=8</code>. That is, four bytes for <code>unsigned double</code>, and eight bytes for <code>double</code>.</p>