Divide Two Integers
Divide two integers without using multiplication, division and mod operator.
Code:
class Solution { public: int divide(int dividend, int divisor) { int quotient=0; long long d1=abs((long long)dividend); // change to type 64 bits, such as 'long long' or 'double' long long d2=abs((long long)divisor); // change -2147483648 to positive while(d1>=d2){ for(long long i=0,a=d2;d1>=a;i++,a<<=1){ d1-=a; quotient+=1<<i; } } return ((dividend^divisor)>>31) ? (-quotient) : (quotient); } };
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步