Advertisement
yarin0600

Untitled

Oct 5th, 2023
887
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.54 KB | None | 0 0
  1.     int divide(int dividend, int divisor) {
  2.         if(dividend == INT_MIN && divisor == -1){
  3.             return INT_MAX;
  4.         }
  5.         long long dvd = labs(dividend), dvs = labs(divisor), result = 0;
  6.         int sign = (dividend > 0) ^ (divisor > 0) == 0 ? 1 : -1;
  7.         while(dvd >= dvs){
  8.             long long temp = dvs, mul = 1;
  9.             while(temp << 1 <= dvd){
  10.                 temp <<= 1;
  11.                 mul <<= 1;
  12.             }
  13.             dvd -= temp;
  14.             result += mul;
  15.         }
  16.         return sign*result;
  17.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement