Comment puis-je changer le signe d'un nombre?Fonction pour retourner le signe d'un nombre
abs();
ne me retournera pas un négatif lorsque l'entrée est positive, correct? J'ai besoin du signe opposé.
Comment puis-je changer le signe d'un nombre?Fonction pour retourner le signe d'un nombre
abs();
ne me retournera pas un négatif lorsque l'entrée est positive, correct? J'ai besoin du signe opposé.
Consultez (réponse à la question précédente).Math.Abs
utiliser le signe négatif:
var answer = -amount;
en C++, simplement abs(x)
qui est en math.h
Ceci est la fonction Absolute Value.
En fait, abs est défini dans '
Mec. Moins.
double d = 1.1234;
double opposite = -d;
Ceci est trop évident:
n = -n
Vous devez utiliser:
n = ~--n;
..ou, si vous aimez le OU au niveau du bit, utilisez:
n = (0xffffffff^n) + 1;
... si ce +1 est trop évident pour vous, c'est un pari sûr:
n ^= 0xffffffff;
int m;
for (m = 1; m != 0 && ((n & m) != 0); m <<= 1);
n |= m;
if (m == 0) n = m;
else for (m >>= 1; m != 0; n ^= m, m >>=1);
... il y a aussi la possibilité pour les personnes qui veulent assurer qu'aucun de leur puissance de traitement reste inutilisée:
public int invert(int n) {
Random r = new Random();
while (true) {
int s = r.nextInt();
if ((s + n) == 0) {
return s;
}
}
}
+1 pour les mathématiques avancées. – Hut8
'Math.Abs' ....? – kennytm
Votre question à propos de .net ou de la bibliothèque C++ Standard? –
Quel est le problème avec la multiplication par -1? Arithmétique de base. – Oded