int mulC4(int j, int k){int sum = 0; {int x=16; while(x--) if((j>>x)&1) {int y=16; while(y--) if((k>>y)&1) sum ^= 1<<(x^y);}} return sum;} // Merely a test below #include int main(){int q=1<<16; while(q--) { if (mulC4(0, q)) printf("Zharg: %d \n", q); if (mulC4(1, q) - q) printf("Zhang: %d \n", q);} printf("3*2 = %04x\n", mulC4(3, 2)); printf("8*5 = %04x\n", mulC4(8, 5)); return 0;}