In matematica, la funzione parte intera, nota anche come funzione floor (dalla parola inglesefloor che significa "pavimento"), è la funzione che associa ad ogni numero reale il più grande intero minore o uguale a . La funzione parte intera è solitamente indicata con o .
La funzione mantissa, definita come , anche scritta come mod 1, oppure , è chiamata la parte frazionaria di . Ogni frazione può essere scritta come un numero misto, cioè la somma di un intero e una frazione propria. La funzione floor e la funzione parte frazionaria estendono questa decomposizione a tutti i numeri reali.
Proprietà
Qualche proprietà della funzione parte intera.
Si ha
con l'uguaglianza nella parte sinistra che vale se e solo se è un intero.
L'ordinario arrotondamento di un numero all'intero più vicino può essere espresso come .
La funzione parte intera non è continua, ma è semi-continua. Essendo una funzione costante a tratti , la sua derivata è zero quando esiste, cioè per tutti i valori che non sono interi.
Se è un numero reale e un intero, si ha se e solo se In linguaggio ricercato, la funzione parte intera fa parte di una connessione di Galois; è l'aggiunta superiore della funzione che immerge gli interi nei reali.
Usando la funzione floor, si possono produrre diverse formule per calcolare i numeri primi che sono esplicite ma non utilizzabili nella pratica.
Una funzione strettamente correlata è la parte intera superiore, nota anche come funzione ceil (dalla parola ingleseceiling che significa "soffitto", contrapposta a floor, "pavimento"), definita nel modo seguente: per ogni numero reale , ceil() è il più piccolo intero non minore di . Per esempio, ceil(2,3) = 3, ceil(2) = 2 e ceil(−2,3) = -2. La funzione ceiling è anche indicata con . È facile provare che
Praticamente tutti i linguaggi di programmazione forniscono al programmatore la possibilità di convertire un valore di un certo tipo di dato in un valore di un altro tipo. Nello specifico, questo rende possibile convertire valori decimali (che vengono tipicamente rappresentati in virgola mobile) in numeri interi (di solito rappresentato come complemento a due).
Nel linguaggio di programmazioneC, questo è reso possibile dall'operatore di casting (int). Questa operazione è un misto delle funzioni floor e ceiling: per x positivi o nulli, restituisce floor(x), e per x negativi restituisce ceil(x).
La stessa sintassi funziona con numerosi altri linguaggi, soprattutto quelli derivati dal C, come Java e Perl, così come la funzione POSIX floor().
L'uso dell'arrotondamento può generare effetti imprevisti e che vanno contro quello che l'intuito suggerirebbe. Per esempio, (int)(0,6/0,2) restituisce il valore 2 nella maggior parte delle implementazioni del C, anche se matematicamente è 0,6/0,2 = 3.
Questo problema è dovuto al fatto che i computer lavorano internamente con il sistema numerico binario e non è possibile rappresentare i numeri 0,6 e 0,2 con stringhe binarie di lunghezza finita. Più in generale: i computer non lavorano mai direttamente con un certo numero decimale, ma solo con una sua approssimazione. Nell'esempio, quindi, il risultato viene calcolato come 2,999999999999999555910790149937, che l'operatore (int) converte tranquillamente al valore 2.
Se è un numero irrazionale, allora le parti frazionarie , dove varia fra gli interi positivi, sono distribuite uniformemente nell'intervallo aperto. Questa affermazione può essere resa più precisamente in molti modi, uno dei quali afferma:
Seguendo il principio generale dell'approssimazione diofantea scoperto da Hermann Weyl, questa proprietà è equivalente a qualcosa che è molto più facile da controllare: ossia che le somme
per sono O(N). Poiché sono progressioni geometriche, questo può essere provato in maniera abbastanza diretta. La condizione che sia irrazionale implica che
Mentre la funzione parte intera genera solamente numeri interi, il troncamento, cioè il "tagliare fuori le cifre", può essere effettuato a qualsiasi posizione specificata, non solo dopo la cifra delle unità.
Notazione
Le funzioni parte intera superiore e inferiore sono normalmente indicate con parentesi quadre, chiuse e aperte, in cui le linee orizzontali superiori (per la funzione parte intera inferiore, floor) o inferiori (per la funzione parte intera superiore, ceiling) sono mancanti. Per esempio nel sistema di composizione editoriale LaTeX questi simboli possono essere realizzati con i comandi \lfloor, \rfloor, \lceil e \rceil.