Use this calculator to perform addition, subtraction, multiplication, or division on two mixed numbers. Enter the whole number, numerator, and denominator for each fraction, select your desired operation, and click "Calculate".
+
–
*
/
.calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f9f9f9;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
max-width: 500px;
margin: 20px auto;
border: 1px solid #ddd;
}
.calculator-container h2 {
text-align: center;
color: #333;
margin-bottom: 20px;
}
.calculator-container p {
margin-bottom: 15px;
line-height: 1.6;
color: #555;
}
.calc-input-group {
margin-bottom: 15px;
display: flex;
flex-direction: column;
}
.calc-input-group label {
margin-bottom: 5px;
color: #333;
font-weight: bold;
}
.calc-input-group input[type="number"],
.calc-input-group select {
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
width: 100%;
box-sizing: border-box; /* Ensures padding doesn't increase width */
}
.calculator-container button {
background-color: #007bff;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
font-size: 18px;
cursor: pointer;
display: block;
width: 100%;
margin-top: 20px;
transition: background-color 0.3s ease;
}
.calculator-container button:hover {
background-color: #0056b3;
}
.calc-result {
margin-top: 25px;
padding: 15px;
border: 1px solid #e0e0e0;
border-radius: 4px;
background-color: #e9ecef;
color: #333;
font-size: 1.1em;
font-weight: bold;
text-align: center;
min-height: 50px;
display: flex;
align-items: center;
justify-content: center;
}
.calc-result strong {
color: #0056b3;
}
function gcd(a, b) {
a = Math.abs(a);
b = Math.abs(b);
while (b) {
var temp = b;
b = a % b;
a = temp;
}
return a;
}
function toImproper(whole, num, den) {
if (den === 0) return null; // Denominator cannot be zero
var sign = 1;
if (whole < 0) {
sign = -1;
whole = Math.abs(whole);
}
if (num < 0) { // Numerator can be negative if whole is 0, but usually handled by whole
sign = -1;
num = Math.abs(num);
}
var improperNum = whole * den + num;
return [sign * improperNum, den];
}
function toMixed(num, den) {
if (den === 0) return "Error: Denominator is zero.";
if (num === 0) return "0";
var sign = "";
if (num < 0) {
sign = "-";
num = Math.abs(num);
}
if (den < 0) { // Handle negative denominator by moving sign to numerator
den = Math.abs(den);
if (sign === "") sign = "-";
else sign = ""; // If num was already negative, they cancel out
}
var commonDivisor = gcd(num, den);
num /= commonDivisor;
den /= commonDivisor;
var whole = Math.floor(num / den);
var remainder = num % den;
if (remainder === 0) {
return sign + whole.toString();
} else if (whole === 0) {
return sign + remainder.toString() + "/" + den.toString();
} else {
return sign + whole.toString() + " " + remainder.toString() + "/" + den.toString();
}
}
function calculateMixedFractions() {
var whole1 = parseFloat(document.getElementById("whole1").value);
var numerator1 = parseFloat(document.getElementById("numerator1").value);
var denominator1 = parseFloat(document.getElementById("denominator1").value);
var whole2 = parseFloat(document.getElementById("whole2").value);
var numerator2 = parseFloat(document.getElementById("numerator2").value);
var denominator2 = parseFloat(document.getElementById("denominator2").value);
var operation = document.getElementById("operation").value;
var resultDiv = document.getElementById("result");
// Input validation
if (isNaN(whole1) || isNaN(numerator1) || isNaN(denominator1) ||
isNaN(whole2) || isNaN(numerator2) || isNaN(denominator2)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (denominator1 === 0 || denominator2 === 0) {
resultDiv.innerHTML = "Denominator cannot be zero.";
return;
}
if (numerator1 < 0 || numerator2 < 0) {
resultDiv.innerHTML = "Numerators should be non-negative. Use the whole number part for negative values.";
return;
}
if (denominator1 < 1 || denominator2 < 1) {
resultDiv.innerHTML = "Denominators must be positive integers (1 or greater).";
return;
}
if (whole1 0) { // If whole is negative, the fraction part should be added to its magnitude
numerator1 = -numerator1; // Treat it as -(whole + num/den)
}
if (whole2 0) {
numerator2 = -numerator2;
}
// Convert mixed numbers to improper fractions
var improper1 = toImproper(whole1, numerator1, denominator1);
var improper2 = toImproper(whole2, numerator2, denominator2);
if (improper1 === null || improper2 === null) {
resultDiv.innerHTML = "Error converting to improper fraction (e.g., zero denominator).";
return;
}
var num1 = improper1[0];
var den1 = improper1[1];
var num2 = improper2[0];
var den2 = improper2[1];
var resultNum, resultDen;
switch (operation) {
case "add":
resultNum = num1 * den2 + num2 * den1;
resultDen = den1 * den2;
break;
case "subtract":
resultNum = num1 * den2 – num2 * den1;
resultDen = den1 * den2;
break;
case "multiply":
resultNum = num1 * num2;
resultDen = den1 * den2;
break;
case "divide":
if (num2 === 0) {
resultDiv.innerHTML = "Cannot divide by zero.";
return;
}
resultNum = num1 * den2;
resultDen = den1 * num2;
break;
default:
resultDiv.innerHTML = "Invalid operation selected.";
return;
}
// Simplify the result
var common = gcd(resultNum, resultDen);
resultNum /= common;
resultDen /= common;
// Ensure denominator is positive
if (resultDen < 0) {
resultNum = -resultNum;
resultDen = -resultDen;
}
var mixedResult = toMixed(resultNum, resultDen);
var improperResult = resultNum + "/" + resultDen;
resultDiv.innerHTML = "Result: " + mixedResult + " (or " + improperResult + ")";
}
Understanding Mixed Fractions
A mixed fraction, also known as a mixed number, is a combination of a whole number and a proper fraction. For example, 2 1/2 is a mixed fraction where 2 is the whole number and 1/2 is the proper fraction. Proper fractions have a numerator smaller than their denominator.
Converting Mixed Fractions to Improper Fractions
Before performing arithmetic operations like addition, subtraction, multiplication, or division, it's often easiest to convert mixed fractions into improper fractions. An improper fraction is one where the numerator is greater than or equal to the denominator (e.g., 5/2).
To convert a mixed fraction A b/c to an improper fraction:
Multiply the whole number (A) by the denominator (c).
Add the numerator (b) to the result.
Place this sum over the original denominator (c).
Example: Convert 2 1/2 to an improper fraction.
2 * 2 = 4
4 + 1 = 5
So, 2 1/2 = 5/2
Performing Operations on Mixed Fractions
Addition and Subtraction
To add or subtract mixed fractions:
Convert both mixed fractions to improper fractions.
Find a common denominator for the improper fractions.
Adjust the numerators accordingly.
Add or subtract the numerators, keeping the common denominator.
Simplify the resulting improper fraction and convert it back to a mixed fraction if desired.
Example (Addition):2 1/2 + 1 3/4
Convert to improper: 2 1/2 = 5/2, 1 3/4 = 7/4
Common denominator (4): 5/2 = 10/4
Add: 10/4 + 7/4 = 17/4
Convert back to mixed: 17/4 = 4 1/4
Multiplication
To multiply mixed fractions:
Convert both mixed fractions to improper fractions.
Multiply the numerators together.
Multiply the denominators together.
Simplify the resulting improper fraction and convert it back to a mixed fraction.
Example (Multiplication):2 1/2 * 1 3/4
Convert to improper: 2 1/2 = 5/2, 1 3/4 = 7/4
Multiply numerators: 5 * 7 = 35
Multiply denominators: 2 * 4 = 8
Result: 35/8
Convert back to mixed: 35/8 = 4 3/8
Division
To divide mixed fractions:
Convert both mixed fractions to improper fractions.
Invert the second fraction (the divisor) by swapping its numerator and denominator.
Multiply the first fraction by the inverted second fraction (just like multiplication).
Simplify the resulting improper fraction and convert it back to a mixed fraction.
Example (Division):2 1/2 / 1 3/4
Convert to improper: 2 1/2 = 5/2, 1 3/4 = 7/4
Invert the second fraction: 7/4 becomes 4/7
Multiply: 5/2 * 4/7 = (5 * 4) / (2 * 7) = 20/14
Simplify: 20/14 = 10/7
Convert back to mixed: 10/7 = 1 3/7
Simplifying Fractions
After any operation, it's good practice to simplify the resulting fraction to its lowest terms. This involves dividing both the numerator and the denominator by their greatest common divisor (GCD). For example, 20/14 can be simplified by dividing both by 2 (their GCD) to get 10/7.