^^Floating point number.

Warning

Do not depend on the exactness of floating point arithmetic, even for apparently simple expressions!

float number, floating point number
numero in virgola mobile.
"virgola mobile" poiche' esistono anche i nr in virgola fissa.
I nr in virgola fissa sono molto simili a una coppia di nr interi: parte intera e parte dopo la virgola.

Floating-point precision

with floating point arithmetic the precision is limited, which can cause equality tests to be unstable

0.1 + 0.2 == 0.3   is  False

due to the fixed-precision format (numbers stores a fixed number of bits) and this leads some numbers to be represented only approximately

es; with 17 digits

0.1 = 0.10000000000000001
0.2 = 0.20000000000000001
0.3 = 0.29999999999999999

 

lg: Numeri con la virgola, o nr decimali. I decimali del nr.

Siccome i termini stadard sono coniati sul caso standard dei numeri in base 10, i nr con virgola sono di solito detti "nr decimali", fatto che pero' fa collassare 2 concetti in 1 solo:

  1. la base dei numeri e' 10
  2. quando divido in 10 parti divido in decimi; divisione decimale.

Quando costruisco i nr "decimali" in base 2, devo dividere per 2 e non per 10, quindi i nr sarebbero "binali" (neologismo Roberto Occa).

Esempi

Numbers in java.

Numbers in Python.

La canvas di HTML5 disegna con numeri float

e si prende carico di dare la migliore rappresentazione grafica, che e' integer (il nr di pixel).

Per far cio' mi sembra che usi anche l'intensita' di colore, per cui a spessore minore non piu' riducibile, poiche' rappresentato da 1 px, corrisponde intensita' minore. Idem per spessori con virgola, il bordo appare con intensita' minore. Questo solo per parlare delle linee orizzontali e verticali che sono quelle dei pixel fisici, per le linee diagonali c'e' tutto il problema dell'algoritmo di passaggio dal continuo al discreto, tra cui l'antialiasing.

Floating point numbers. Subtleties & iintricacies.

Ricordiamo per mentalizzarci

  1. Numeri interi in base qualsiasi.
  2. I numeri non sono la loro rappresentazione !
  3. Numeri binari con la virgola.

Codificazione dei numeri

Registrare un nr decimale

  1. Se: la codificazione e' binaria,
  2. dato che: un numero decimale finito capita abbia rappresentazione binaria infinita
  3. allora: non e' possibile registrarlo esattamente, ma solo approssimato.

 

Links

  1. inet: Five Tips for Floating Point Programming - CodeProject
  2. inet: wp/Floating_point
  3. Mixed integer and floating point, convert to float  Arithmetic. Python.