---
title: "Floating point multiplication"
subject: "Computer Organization and Architecture"
chapter: 5
key: "semester_5/computer_organization_and_architecture:fp-multiplication"
source: https://www.bctengineer.com/q/semester_5/computer_organization_and_architecture/fp-multiplication
site: BCT Engineering
---

# Floating point multiplication

Computer Organization and Architecture · Chapter 5: Computer Arithmetic

- Asked in: 2079 Baisakh, 6 marks; 2074 Asoj, 4 marks; 2069 Chaitra, 4 marks (asked 3 times)
- Video: [Floating Point Multiplication Algorithm-Floating Point Arithmetic-Computer Organization Architecture](https://www.youtube.com/watch?v=Eqne13jn5hI) — Sudhakar Atchala
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/computer_organization_and_architecture/fp-multiplication
- Whole chapter: https://www.bctengineer.com/md/semester_5/computer_organization_and_architecture/chapter-5

## Question

Explain the floating point multiplication algorithm with flowchart and example.

## Short answer

Multiply mantissas, add exponents (e = ex + ey - bias). Sign = sx xor sy. Normalize product by shifting and adjust exponent. Example: 1.100×2² × 1.010×2¹ = 1.111×2³ = 15.

## Answer

For X = mx × 2^ex and Y = my × 2^ey, the product is X × Y = (mx × my) × 2^(ex + ey). The mantissas are multiplied as fixed-point numbers and the exponents are added.

#### Algorithm
1. **Check for zero:** if either operand is 0, the result is 0.
2. **Add the exponents:** e = ex + ey. With biased exponents, subtract the bias once: e = ex + ey - bias.
3. **Sign of the result** = sign(X) xor sign(Y).
4. **Multiply the mantissas** (for example by Booth's algorithm or shift-and-add).
5. **Normalise** the product (if the product mantissa is 10.xxx, shift right and add 1 to the exponent; if it has leading zeros, shift left and decrease the exponent).
6. **Round** the mantissa and check for exponent overflow or underflow.

```text
 Start
   |
 X = 0 or Y = 0? --yes--> result 0
   | no
 e = ex + ey - bias ; sign = sx xor sy
   |
 Multiply mantissas
   |
 Normalise and round
   |
 Exponent overflow/underflow? --yes--> error
   | no
  Stop
```

#### Example
X = 1.100 × 2² (6) and Y = 1.010 × 2¹ (2.5).
- Exponent: 2 + 1 = 3.
- Mantissas: 1.100 × 1.010 = 1.5 × 1.25 = 1.875 = 1.111 (already normalised).
- Result = 1.111 × 2³ = 1.875 × 8 = **15**. ✓ (6 × 2.5 = 15).

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. For floating-point X x Y the result is:
   A. (mx x my) x 2^(ex + ey)
   B. (mx + my) x 2^(ex x ey)
   C. (mx / my) x 2^(ex - ey)
   D. (mx x my) x 2^(ex - ey)
   Answer: A. Mantissas are multiplied and exponents added. (Key point: Multiplication rule)

2. With biased exponents the result exponent is:
   A. ex + ey - bias
   B. ex + ey + bias
   C. ex - ey + bias
   D. ex + ey
   Answer: A. Both exponents contain a bias, so one is subtracted. (Key point: Bias)

3. The sign of the product is:
   A. sign(X) XOR sign(Y)
   B. sign(X) AND sign(Y)
   C. sign(X) OR sign(Y)
   D. always positive
   Answer: A. Different signs give a negative product. (Key point: Sign)

4. 6 x 2.5 using 1.100x2^2 and 1.010x2^1 gives:
   A. 1.111 x 2^3 = 15
   B. 1.111 x 2^2 = 7.5
   C. 1.010 x 2^3 = 10
   D. 1.100 x 2^3 = 12
   Answer: A. Exponent 2+1 = 3, mantissas 1.5 x 1.25 = 1.875 = 1.111; 1.875 x 8 = 15. (Key point: Example)

## Related in Computer Organization and Architecture

- [Floating point division algorithm](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Afp-division) — Computer Organization and Architecture, chapter 5, asked 4×
- [Floating point addition and subtraction](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Afp-add-sub) — Computer Organization and Architecture, chapter 5, asked 6×
- [Booth multiplication algorithm and hardware](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Abooth-algorithm) — Computer Organization and Architecture, chapter 5, asked 8×
- [Non-restoring division with flowchart](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Anonrestoring-explain) — Computer Organization and Architecture, chapter 5, asked 3×
- [Booth multiplication of -5 × -9](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Abooth-5x-9) — Computer Organization and Architecture, chapter 5, asked 5×
- [Booth multiplication of 5 × -6](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Abooth-5x-6) — Computer Organization and Architecture, chapter 5, asked 5×

## Related in other subjects

- [Algorithm and flowchart for largest](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Aalgorithm-flowchart-largest-n) — Computer Programming, chapter 2
- [Algorithm and flowchart: quadratic roots](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Aalgo-flowchart-quadratic) — Computer Programming, chapter 2
- [Algorithm and flowchart: distance between points](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Aalgo-flowchart-distance) — Computer Programming, chapter 2
- [Algorithm and flowchart help; Armstrong flowchart](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Aalgorithm-flowchart-armstrong) — Computer Programming, chapter 2
