Parte intera: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Orfanizzo Java (linguaggio) |
m sistemazione fonti, smistamento lavoro sporco e fix vari |
||
(23 versioni intermedie di 15 utenti non mostrate) | |||
Riga 1:
{{F|analisi matematica|luglio 2017}}
[[File:Floor function.svg|thumb
In [[matematica]], la funzione '''parte intera''', nota anche come funzione '''floor''' (dalla parola [[lingua inglese|inglese]] ''floor'' che significa "pavimento"), è la [[funzione (matematica)|funzione]] che associa ad ogni [[numero reale]]
La [[funzione mantissa]], definita come <math>x -\lfloor x\rfloor</math>, anche scritta come
== Proprietà ==
Qualche proprietà della funzione parte intera.
* Si ha
::<math>
::<math>
:con l'uguaglianza nella parte sinistra che vale [[se e solo se]]
* La funzione parte intera è [[idempotenza|idempotente]]:
:
* Per ogni intero
::<math>
* Per ogni <math>x</math> e <math>y</math> reali,
* Per ogni numero reale non intero ''x'' si ha:▼
::<math>\lfloor
*
:
*La funzione parte intera non è [[funzione continua|continua]], ma è [[funzione semi-continua|semi-continua]]. Essendo una [[funzione costante]] a tratti , la sua [[derivata]] è zero quando esiste, cioè per tutti i valori che non sono interi.▼
::
* Se ''x'' è un numero reale e ''n'' un intero, si ha ''n'' ≤ ''x'' se e solo se ''n'' ≤ floor(''x''). 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.▼
* Per ogni <math>x</math> e <math>y</math> reali,
::<math>\lfloor xy \rfloor = \lfloor x \rfloor \lfloor y \rfloor + \lfloor xy - \lfloor x \rfloor \lfloor y \rfloor \rfloor.</math>
::
* L'ordinario [[arrotondamento]] di un numero <math>x</math> all'intero più vicino può essere espresso come <math>\lfloor x + 0,5 \rfloor</math>.
▲* La funzione parte intera non è [[funzione continua|continua]], ma è [[funzione semi-continua|semi-continua]]. Essendo una [[funzione costante]] a tratti , la sua [[derivata]] è zero quando esiste, cioè per tutti i valori che non sono interi.
▲* Se
* Usando la funzione floor, si possono produrre diverse [[formule per calcolare i numeri primi]] che sono esplicite ma non utilizzabili nella pratica.
* Il [[teorema di Beatty]] afferma che ogni [[numero irrazionale]] partiziona i [[Numero naturale|numeri naturali]] in due sequenze tramite la funzione floor.
== Parte intera superiore ==
[[
Una funzione strettamente correlata è la '''parte intera superiore''', nota anche come funzione '''
:<math>\lceil x \rceil = - \lfloor - x \rfloor</math>
e che
:<math>x \
Se poi ''x'' non è un intero si ha
▲:<math>\lceil x\rceil-\lfloor x\rfloor=1</math>
:<math>\lceil x\rceil-\lfloor x\rfloor=1.</math>
Per ogni intero ''k'', abbiamo anche che:
▲: <math>\lfloor k / 2 \rfloor + \lceil k / 2 \rceil = k</math>.
Se ''m'' e ''n'' sono interi positivi [[interi coprimi|primi fra di loro]], allora ▼
▲:<math>\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2</math>
== In programmazione ==▼
:<math>\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2.</math>
[[Immagine:Int function.svg|thumb|right|L'operatore <code>(int)</code>]]▼
▲== In programmazione ==
=== In C ===
Praticamente tutti i [[linguaggio di programmazione|linguaggi di programmazione]] forniscono al programmatore la possibilità di [[conversione di tipo|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 programmazione]] [[C (linguaggio)|C]], questo è reso possibile dall'[[operatore (informatica)|operatore]] di casting <code>(int)</code>. Questa operazione è un misto delle funzioni floor e ceiling: per ''x'' positivi o nulli, restituisce floor(''x''), e per ''x'' negativi restituisce
La stessa sintassi funziona con numerosi altri linguaggi, soprattutto quelli derivati dal C, come [[Java (linguaggio di programmazione)|Java]] e [[Perl]], così come la funzione [[POSIX]] floor().
Riga 54 ⟶ 65:
=== Problemi di arrotondamento ===
{{vedi anche|arrotondamento}}
L'uso dell'arrotondamento può generare effetti imprevisti e che vanno contro quello che l'intuito suggerirebbe. Per esempio, <code>(int)(0
Questo problema è dovuto al fatto che i computer lavorano internamente con il [[sistema numerico binario]] e non è possibile rappresentare i numeri 0
A causa di questi problemi, la maggior parte delle [[calcolatrice|calcolatrici]] moderne usa internamente il [[Binary-coded decimal|sistema numerico decimale codificato in binario]].
== Distribuzione uniforme modulo 1 ==
Se
:<math>\int_0^1 f(t)\; dt = \lim_{N\to\infty} \frac{1}{N}\sum_{n=1}^N f(nx
per ogni [[funzione continua]] a [[numero reale|valori reali]] <math>f:[0,1]\to\mathbb{R}</math> (vedi [[limite (matematica)|limite]], [[integrale]] e [[teorema dell'equidistribuzione]])▼
▲per ogni [[funzione continua]] a [[numero reale|valori reali]] <math>f
Seguendo il principio generale dell'[[approssimazione diofantea]] scoperto da [[Hermann Weyl]], questa proprietà è equivalente a qualcosa che è molto più facile da controllare:
:<math>\sum\limits_{n=0}^N e^{2 \pi i k n x},</math>
per <math>k\in\mathbb{N}</math> sono [[O-grande|O(N)]]. Poiché sono [[progressione geometrica|progressioni geometriche]], questo può essere provato in maniera abbastanza diretta. La condizione che
:<math>\sin (\pi k x) \ne 0.</math>
== Troncamento ==
|