Indice
Discussione:Valore assoluto
Questa voce rientra tra gli argomenti trattati dal progetto tematico sottoindicato. Puoi consultare le discussioni in corso, aprirne una nuova o segnalarne una avviata qui. | |||||
|
La voce è stata parzialmente monitorata, completa la valutazione. | ||||||||||
| ||||||||||
Monitoraggio effettuato nell'aprile 2012 |
Non esistono numeri senza segno, quando un numero non ce l'ha questo è sottinteso (così 3 è in realtà +3, e non 3 "senza segno") dunque la definizione data, anche se molto chiara per una persona che non conosca l'argomento, non è corretta dal punto di vista matematico. Proporrei di sottolineare il fatto che il valore assoluto è una funzione--Walter86 13:12, 4 gen 2006 (CET)
Ho riscritto parte della definizione iniziale, in particolare parlando sia del caso reale che di quello complesso. --Andreas (drop me a line) 11:34, 28 mag 2008 (CEST)
"Se invece fosse stato |x + 7| - 3, saremmo rimasti fregati" ma che linguaggio è? Da correggere subito!
che senso ha?
[modifica wikitesto]la sezione Linguaggi di programmazione informatica dice:
Nel linguaggio C il valore assoluto di un numero è calcolato dalle funzioni abs(), labs(), llabs() (in C99), fabs(), fabsf(), e fabsl(). Scrivere la versione della funzione per i numeri interi è banale, se non si considera il caso limite in cui venga immesso il più grande numero intero negativo:
int abs(int i) { if (i < 0) return -i; else return i; }
che senso ha la frase "Scrivere la versione della funzione per i numeri interi è banale, se non si considera il caso limite in cui venga immesso il più grande numero intero negativo:" ?
il più grande intero negativo è -1. semmai si va in overflow immettendo il più Piccolo intero (inteso come tipo int, forse andrebbe specificato) negativo, ossia -2^31..
ma anche qui la frase non ha poi molto senso poichè anche considerando questo caso limite, la funzione risulterebbe Comunque banale. basta usare dei long int o long long int.
riporto le 3 funzioni abs , labs e llabs della glibc 2.11.1 :
---
- include <stdlib.h>
- undef abs
/* Return the absolute value of I. */ int abs (int i) {
return i < 0 ? -i : i;
}
- include <stdlib.h>
- undef labs
/* Return the absolute value of I. */
long int
labs (long int i)
{
return i < 0 ? -i : i;
}
- include <stdlib.h>
- undef llabs
/* Return the absolute value of I. */
long long int
llabs (i)
long long int i;
{
return i < 0 ? -i : i;
}