I am completely lost... Why is tmpi always 0? It works just fine when using 32 bit ints. I am compiling the project in Visual Studio 2008 in 64 bit release mode and running it on a quad core machine with 64 bit vista. Shift operations seem to work just fine .
Code:typedef unsigned __int64 uint64; uint64 tmpc= 16,tmpe= 13,tmpD= 12, tmpi=5; tmpi= tmpc & tmpe; printf ("tmpi = %I64d \n", tmpi);