| English | 简体中文 |

# 29. Divide Two Integers

## Description

Given two integers `dividend`

and `divisor`

, divide two integers **without** using multiplication, division, and mod operator.

The integer division should truncate toward zero, which means losing its fractional part. For example, `8.345`

would be truncated to `8`

, and `-2.7335`

would be truncated to `-2`

.

Return *the quotient after dividing *

`dividend`

*by*

`divisor`

.**Note: **Assume we are dealing with an environment that could only store integers within the **32-bit** signed integer range: `[−2`

. For this problem, if the quotient is ^{31}, 2^{31} − 1]**strictly greater than** `2`

, then return ^{31} - 1`2`

, and if the quotient is ^{31} - 1**strictly less than** `-2`

, then return ^{31}`-2`

.^{31}

**Example 1:**

Input:dividend = 10, divisor = 3Output:3Explanation:10/3 = 3.33333.. which is truncated to 3.

**Example 2:**

Input:dividend = 7, divisor = -3Output:-2Explanation:7/-3 = -2.33333.. which is truncated to -2.

**Constraints:**

`-2`

^{31}<= dividend, divisor <= 2^{31}- 1`divisor != 0`