Warning
Do not depend on the exactness of floating point arithmetic, even for apparently simple expressions!
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
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:
Quando costruisco i nr "decimali" in base 2, devo dividere per 2 e non per 10, quindi i nr sarebbero "binali" (neologismo Roberto Occa).
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.