¿Podemos usar el operador % en números de punto flotante?

Prediga la salida del siguiente programa:

¿Se puede usar % con números de punto flotante en C++?

#include <iostream>
int main()
{
    float f = 9.9f, m = 3.3f;
    float c = f % m;  // LINE 5
    std::cout << c;
    return 0;
}

El programa anterior falla en la compilación y el compilador informa el siguiente error en la línea 5:
Salida:

invalid operands of types 'float' and 'float' 
to binary 'operator%' 

El operador % no se puede usar con números de coma flotante en C y C++.

¿Qué pasa con Java y C#?
Este comportamiento es diferente en Java y C#. El operador % se puede usar en números de punto flotante en estos idiomas.

Considere el siguiente ejemplo de programa Java :

class Test
{
    public static void main(String args[])
    {
        float f = 9.9f, m = 3.3f;
        float c = f % m;
        System.out.println(c);
    }
}

Producción:

3.2999997

De la misma manera prueba este programa C# . Funciona bien:

using System;
class Test
{
    public static void Main()
    {
        float f = 9.9f, m = 3.3f;
        float c = f % m;
        Console.WriteLine(c);
    }
}

Producción:

3.3

Este artículo es una contribución de Meet Pravasi . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *