No, It is same because first is multiply and then is byteshift. Try this: Code: printf("%#x %#x\n", 4*114 >> 2, 114); printf("%#x %#x\n", 4*46 >> 2, 46); output is: Code: 0x72 0x72 0x2e 0x2e
printf("%#x %#x\n", 4*114 >> 2, 114); printf("%#x %#x\n", 4*46 >> 2, 46);
0x72 0x72 0x2e 0x2e
printf("%#x %#x\n", 4*1073741824>> 2, 1073741824); printf("%#x %#x\n", 4*3075541994>> 2, 3075541994);
0x0 0x40000000 0x37510bea 0xb7510bea