Hi

I wanna do a simple xor of two 64 bit variables as in the following code fragment:

  unsigned long long test0 = 0x8888000000001210LL;
  unsigned long long test1 = 0x88111111111100EFLL;
  unsigned long long test2;

  test2 = test0 | test1;

  printf("0x%016x ",test2);

Unfortuantely only the lower 32 bits of the result are correct as the output shows

0x00000000111112ff

Anyone an idea why the higher 32 bits are not affected by the bitoperation? I am using gcc (GCC) 3.4.6.

many thanks!
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to