title: DWORD64 if set to -1 gives 32 1s i.e. 0xffffffffffffffffffffffffffffffff
body: <p>C++ code (Visual studio started with devenv /useenv (x64) and isWOW64 is false)</p>
  
  <pre><code>DWORD64 check;
  
  check = -1;
  printf("value %u", check);
  </code></pre>
  
  <p>it prints the value 4294967295 i.e. 0x(32)f which is the same if i do it with simple DWORD in an x32 environment</p>
  
  <p><strong>yes i know DWORD64 is unsigned __int64,</strong> but shouldn't it be 0x(64)f ?</p>
  
  <p>what did the assembler do there ? disassembling the code didn't help me much.</p>