💾modulo(a, b)

modulo

JSoperatorarithmetic ⟩ modulo

modulo(a, b) returns the modulo of a / b. (b decides the sign of the modulo)

(👉 see remainder vs. modulo vs. mod for more info)

// ⭐️ modulo: r = a - b*q
// ------------------------
// • r has same sign as b.
//   (that is, `b` decides the "sign" of the result)
function modulo(a, b) {
    return ((a % b) + b) % b
}

💈範例:

// remainder (a % b)
//┌─── `a` decides the "sign" ⭐️
//│
  5 %  3,    //  2
  5 % -3,    //  2
 -5 %  3,    // -2
 -5 % -3,    // -2

// ⭐️ modulo(a, b)
//          ┌─── `b` decides the "sign" ⭐️
//          │ 
modulo( 5,  3),    //  2
modulo( 5, -3),    // -1
modulo(-5,  3),    //  1
modulo(-5, -3),    // -2

modulo(6.4, 2.3),     //  1.8000000000000007

// mod(a, b) (in math)
//                    ┌─── always >= 0 ⭐️
//                    │ 
mod( 5,  3),       // 2
mod( 5, -3),       // 2
mod(-5,  3),       // 1
mod(-5, -3),       // 1

Last updated