//gcc -o ee 64bit10.c #include int main() { unsigned char g[8] ={0x00,0x00,0x01,0x00,0x0,0x0,0x0,00}; int i; unsigned char gg[] ={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}; long int n; long int nn=0; for(int j=7; j>-1; j--) { n = 0 ; for (i=0; i<8; i++) { n=n<<1; // n<<1 failed. if (gg[i] & g[j]){ n++;}; } nn = nn<<8;// multissply by 512 nn = nn + n; } printf("\n End conversion nn = %ld\n\n",nn); for (int i=0; i<8;i++){ printf("%x ",g[i]); } printf("\n\n"); return 0; printf("\n End conversion nn = %ld\n\n",nn); for (int i=0; i<8;i++){ printf("%x ",g[i]); } printf("\n\n"); return 0; } }