My function converts an improper fraction to a mixed number (it does not AND should not simplify the fraction).// Improper fraction to mixed number// n = numerator// d = denominator// i = numberfunction improperFractionToMixedNumber(n, d) {    i = (n / d) >> 0;    n -= i * d;    return [i, n, d];   }// Convert 14/4 to mixed numberimproperFractionToMixedNumber(14, 4); // 3, 2, 4Can this be improved or simplified?I don't care for this part:i = (n / d) >> 0;But it's the only way I could figure out how to see how many times a number equally divides into another number.
Convert Improper Fraction to Mixed Number with JavaScript
javascript
What you're doing with i = (n / d) >> 0 is a sign-propagating right shift. The interesting this is, you're doing a right shift by 0 (I'd imagine because you'd otherwise get NaN. Your method of doing so is a cheap version (read: performance hack?) of doing i = parseInt(n / d). Here's your function with the SPRS removed and replaced with parseInt() instead. I've also implemented simplification. function improperFractionToMixedNumber(n, d) {    i = parseInt(n / d);    n -= i * d;    return [i, n, d];   }Here is the same function, but also implementing simplification via a helper function reduce:// Improper fraction to mixed number// n = numerator// d = denominator// i = numberfunction improperFractionToMixedNumber(n, d) {    i = parseInt(n / d);    n -= i * d;    return [i, reduce(n,d)];   }function reduce(numerator,denominator){    if (isNaN(numerator) || isNaN(denominator))      return NaN;    var gcd = function gcd(a, b){ return b ? gcd(b, a%b) : a; };    gcd = gcd(numerator, denominator);    return [numerator/gcd, denominator/gcd];}