# 长除法计算器：余数与小数

> Long division calculator that shows every step: quotient and remainder, the decimal quotient with its repeating block marked, and the fraction.

交互版本：https://www.calcopenly.com/zh/math/long-division-calculator
主题：数学计算器

Long division splits a division into one small division per digit. Take the leading digits of the dividend, divide by the divisor, write the digit above, multiply, subtract, then bring down the next digit and repeat. When the divisor has decimals, both numbers are first multiplied by the same power of 10 so the divisor is a whole number.

For 1234 ÷ 7 the working gives 176 with remainder 2, since 7 × 176 = 1232. Carrying on past the decimal point with appended zeros gives 176.285714…, and because the remainder 2 comes back after six more digits, the block 285714 repeats forever. The layout marks that block with a bar.

A fraction's decimal either ends or repeats. It ends when the reduced denominator has no prime factors other than 2 and 5, as with 487 ÷ 32 = 15.21875. Otherwise the length of the repeating block is the smallest k for which 10ᵏ − 1 is divisible by q once its factors of 2 and 5 are removed: 6 for q = 7 and 96 for q = 97.

## 输入

- **Dividend**: The number being divided. Whole numbers or decimals, e.g. 4.71.
- **Divisor**: The number you divide by. Decimals are shifted to a whole number first.
- **Answer as** (选项：Decimal, Remainder)
- **Decimal places**: How far to carry the division when the decimal doesn't end or repeat sooner. The rounded quotient uses the same number of places.

## 结果

- Decimal quotient — 主要结果
- Quotient and remainder
- Whole-number quotient
- Remainder
- Rounded quotient
- Repeating block length (digits)
- As a mixed number

## 公式

$$
a = b \times q + r,\quad 0 \le r < b \qquad \frac{a}{b} = q + \frac{r}{b}
$$

## 计算示例

### 1234 ÷ 7 (default)

- Dividend: 1234
- Divisor: 7
- Answer as: Decimal
- Decimal places: 10
- **Decimal quotient: 176.(285714)**
- **Quotient and remainder: 176 R 2**
- **Whole-number quotient: 176**
- **Remainder: 2**
- **Repeating block length: 6 digits**
- **As a mixed number: 176 2/7**
- **Rounded quotient: 176.2857142857**
- 核验来源：Python 3.8: divmod(1234, 7) = (176, 2); decimal.Decimal(1234) / 7 = 176.28571428571428571…; Fraction(1234, 7) = 1234/7

### 487 ÷ 32 (Calculator Soup worked example)

- Dividend: 487
- Divisor: 32
- Answer as: Remainder
- **Quotient and remainder: 15 R 7**
- **Whole-number quotient: 15**
- **Remainder: 7**
- **Decimal quotient: 15.21875**
- **Repeating block length: 0 digits**
- 核验来源：Calculator Soup long division tutorial: 487 ÷ 32 = 15 R 7; 487/32 = 15.21875 by Python Fraction

### 65,321 ÷ 31 (Omni Calculator worked example)

- Dividend: 65321
- Divisor: 31
- Answer as: Remainder
- **Quotient and remainder: 2,107 R 4**
- **Whole-number quotient: 2,107**
- **Remainder: 4**
- **As a mixed number: 2,107 4/31**
- **Repeating block length: 15 digits**
- 核验来源：Omni Calculator long division page: 65321 / 31 = 2107 r 4; period of 1/31 is 15 (ord₃₁ 10 = 15, Python pow(10, 15, 31) == 1)

### 4.71 ÷ 3.2 (decimal divisor)

- Dividend: 4.71
- Divisor: 3.2
- Answer as: Decimal
- Decimal places: 10
- **Decimal quotient: 1.471875**
- **Whole-number quotient: 1**
- **Remainder: 1.51**
- **Repeating block length: 0 digits**
- **As a mixed number: 1 151/320**
- 核验来源：Calculator Soup long division with decimals example (4.71 ÷ 3.2 = 1.471… to 3 places); exact 471/320 = 1.471875 and 4.71 − 3.2 = 1.51 by Python Fraction

### 100 ÷ 7 (calculator.net example)

- Dividend: 100
- Divisor: 7
- Answer as: Decimal
- Decimal places: 10
- **Quotient and remainder: 14 R 2**
- **Decimal quotient: 14.(285714)**
- **As a mixed number: 14 2/7**
- 核验来源：calculator.net long division page: 100 ÷ 7 = 14 R 2 = 14.285714…

### 1 ÷ 97: 96-digit repeating block (edge case)

- Dividend: 1
- Divisor: 97
- Answer as: Decimal
- Decimal places: 10
- **Whole-number quotient: 0**
- **Remainder: 1**
- **Repeating block length: 96 digits**
- **Rounded quotient: 0.0103092784**
- 核验来源：Python: smallest k with pow(10, k, 97) == 1 is 96; Decimal(1)/97 = 0.01030927835051546…

## 常见问题

### How do you do long division step by step?

Repeat four moves: divide, multiply, subtract, bring down. For 487 ÷ 32: 48 ÷ 32 = 1, write 1, 1 × 32 = 32, 48 − 32 = 16; bring down 7 to make 167; 167 ÷ 32 = 5, 5 × 32 = 160, 167 − 160 = 7. No digits are left, so 487 ÷ 32 = 15 remainder 7. Check it: 32 × 15 + 7 = 487.

### How do you divide by a decimal?

Move the decimal point in the divisor to the right until it is a whole number, and move the point in the dividend the same number of places. For 4.71 ÷ 3.2, move both one place: 47.1 ÷ 32. The quotient stays the same because both numbers were multiplied by 10. Then divide as usual, putting the quotient's point directly above the dividend's: 47.1 ÷ 32 = 1.471875.

### How do you write a remainder as a decimal or fraction?

As a fraction, put the remainder over the divisor: 1234 ÷ 7 = 176 R 2 = 176 2/7. As a decimal, keep dividing: write a decimal point and zeros after the dividend and bring them down one at a time. 2/7 = 0.285714285714…, so 1234 ÷ 7 = 176.285714…, where the six digits 285714 repeat.

### How do you know when a decimal repeats?

Watch the remainders. Once only appended zeros are being brought down, each step depends only on the current remainder, and there are fewer possible remainders than the divisor. As soon as a remainder appears a second time, the digits between the two appearances repeat forever. Dividing by 7 always repeats within 6 digits; 1 ÷ 97 has a 96-digit repeating block.

### What is the remainder when dividing negative numbers?

It depends on the convention. This page divides the absolute values and gives the remainder the dividend's sign, as C and Java do: −17 ÷ 5 = −3 R −2, since 5 × (−3) − 2 = −17; Excel's QUOTIENT truncates to −3 the same way. The floored convention used by Python's // and % and by Excel's MOD gives −4 R 3 instead, since 5 × (−4) + 3 = −17.

### “长除法计算器：余数与小数”有多准确？

准确性取决于输入值和方法的假设。十进制运算使用50位有效数字，但估算、数值方法和源数据的精度可能较低；显示时的舍入并不能消除这些限制。 已按独立来源核验的计算示例：8。 例如，“1234 ÷ 7 (default)”根据Python 3.8: divmod(1234, 7) = (176, 2); decimal.Decimal(1234) / 7 = 176.28571428571428571…; Fraction(1234, 7) = 1234/7进行核验。

### 这种方法出自哪里？

Common Core State Standards for Mathematics, 6.NS.B.2 and 6.NS.B.3: divide multi-digit numbers and decimals using the standard algorithm; Hardy & Wright, An Introduction to the Theory of Numbers, §9.6 (period of a recurring decimal is the order of 10 modulo q); Wolfram MathWorld: Long division; Wolfram MathWorld: Repeating decimal.

## 来源

- [Common Core State Standards for Mathematics, 6.NS.B.2 and 6.NS.B.3: divide multi-digit numbers and decimals using the standard algorithm](https://www.thecorestandards.org/Math/Content/6/NS/)
- Hardy & Wright, An Introduction to the Theory of Numbers, §9.6 (period of a recurring decimal is the order of 10 modulo q)
- [Wolfram MathWorld: Long division](https://mathworld.wolfram.com/LongDivision.html)
- [Wolfram MathWorld: Repeating decimal](https://mathworld.wolfram.com/RepeatingDecimal.html)
