Operador de resto de JavaScript (%)

El operador restante es JavaScript se usa para obtener el valor restante cuando un operando se divide por otro operando. En algunos idiomas, % se considera módulo. Modulo y Remainder funcionan de manera diferente cuando el signo de ambos operandos es diferente.

En JavaScript, el resto toma el signo del dividendo y para obtener el módulo ((a % n) + n) se debe usar % n en lugar de % n.

Sintaxis

remainder = var1 % var2

Ejemplo 1: este ejemplo devuelve el resto positivo; en este caso, tanto el módulo como el resto serán iguales, ya que ambos operandos son positivos.

Javascript

<script>
    // Initializing variables
    var a =4
    var n = 2
     
    // Calculating remainder
    var rem = a%n
     
    // Calculating modulo
    var mod = ((a%n)+n)%n
     
    // Printing result
    console.log("Remainder is "+rem)
    console.log("Modulo is "+mod)
</script>

Producción:

"Remainder is 0"
"Modulo is 0"

Ejemplo 2: este ejemplo devuelve un resto negativo ya que el dividendo es negativo.

Javascript

<script>
    // Initializing variables
    var a =-4
    var n = 2
     
    // Calculating remainder
    var rem = a%n
     
    // Calculating modulo
    var mod = ((a%n)+n)%n
     
    // Printing result
    console.log(rem)
    console.log(mod)
</script>

Producción:

-0
0

Ejemplo 3: resto con infinito y NaN

Javascript

<script>
    // Both operands are NaN
    console.log(NaN%NaN)
     
    // Dividend is NaN
    console.log(NaN%2)
     
    // Dividend is Nan and Divisor is Infinity
    console.log(NaN%Infinity)
     
    // Dividend is Infinity and Divisor is NaN
    console.log(Infinity%NaN)
     
    // Both operands are Infinity
    console.log(Infinity%Infinity)
     
    // Dividend is infinity
    console.log(Infinity%5)
</script>

Producción:

> NaN
> NaN
> NaN
> NaN
> NaN
> NaN

Publicación traducida automáticamente

Artículo escrito por aman neekhara y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *