How to let GCC compiler turn variable-division into mul(if faster)
问题 int a, b; scanf("%d %d", &a, &b); printf("%d\n", (unsigned int)a/(unsigned char)b); When compiling, I got ... ::00401C1E:: C70424 24304000 MOV DWORD PTR [ESP],403024 %d %d ::00401C25:: E8 36FFFFFF CALL 00401B60 scanf ::00401C2A:: 0FB64C24 1C MOVZX ECX,BYTE PTR [ESP+1C] ::00401C2F:: 8B4424 18 MOV EAX,[ESP+18] ::00401C33:: 31D2 XOR EDX,EDX ::00401C35:: F7F1 DIV ECX ::00401C37:: 894424 04 MOV [ESP+4],EAX ::00401C3B:: C70424 2A304000 MOV DWORD PTR [ESP],40302A %d\x0A ::00401C42:: E8 21FFFFFF CALL