Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/11/2021, à 18:35

lanfust

une question de modulo

Bonjour,

Quand je fais le modulo d'un nombre négatif avec la calculatrice ubuntu.

-15 mod 26 = 11
-25 mod 26 = 1
-35 mod 26 = 17
-45 mod 26 = 7
-55 mod 26 = 23

En c++

std::cout << -15 % 26 << std::endl;
  std::cout << -25 % 26 << std::endl;
  std::cout << -35 % 26 << std::endl;
  std::cout << -45 % 26 << std::endl;
  std::cout << -55 % 26 << std::endl;

me donne

-15
-25
-9
-19
-3

A quoi est dû cette différence ?

Dernière modification par lanfust (Le 29/11/2021, à 18:42)


Dual boot Windows 11 / Ubuntu 22.04
Créer une clé usb bootable
https://github.com/kramer04/usb_Bootable

Hors ligne

#2 Le 29/11/2021, à 18:49

kamaris

Re : une question de modulo

À un bug ?
Ça marche bien avec Galculator par exemple.

Hors ligne

#3 Le 29/11/2021, à 19:19

geole

Re : une question de modulo

Bonjour
A moins que cela soit un problème de définition ...
Le modulo entier qui retourne un nombre entre 0 et le diviseur (si celui-ci est négatif, le résultat sera négatif)
Le modulo tronqué qui retourne un nombre du même signe que le dividende.
Le modulo euclidien qui retourne toujours un nombre positif.

Hors ligne

#4 Le 29/11/2021, à 19:49

kamaris

Re : une question de modulo

Ah oui d'accord, on prend par valeurs inférieures ou supérieures selon le signe du diviseur.
Ce que fait gnome-calculator correspondrait à ça : https://fr.wikipedia.org/wiki/Modulo_(o … A9matique)

Hors ligne

#5 Le 29/11/2021, à 21:38

lanfust

Re : une question de modulo


Dual boot Windows 11 / Ubuntu 22.04
Créer une clé usb bootable
https://github.com/kramer04/usb_Bootable

Hors ligne

#6 Le 29/11/2021, à 23:32

CM63

Re : une question de modulo

Oui, ce n'est qu'une convention. Apparemment Ubuntu n'a pas la même convention que le C++. Pour un mathématicien le résultat doit toujours être positif et compris entre 0 et n-1. Dans le cas présent -15 % 26 ce serait 11 et non pas -15 .

Dernière modification par CM63 (Le 19/12/2021, à 10:39)


D'sous n'a mis, est-elle avare, frivole ou tellurique?

Hors ligne