你會如何除以3為數字,沒有使用*,/,+,-,%,運營商?該數字可以簽名也可以不簽名。
3 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
您可以使用(取決于平臺的)內聯匯編,例如,對于x86 :(也適用于負數)
#include <stdio.h>
int main() {
int dividend = -42, divisor = 5, quotient, remainder;
__asm__ ( "cdq; idivl %%ebx;"
: "=a" (quotient), "=d" (remainder)
: "a" (dividend), "b" (divisor)
: );
printf("%i / %i = %i, remainder: %i\n", dividend, divisor, quotient, remainder);
return 0;
}
添加回答
舉報
0/150
提交
取消