Ti basta sommare uno, per cui, partendo con i=0, cioè dal bit meno significativo:
-Se il bit i-esimo è zero lo metti uguale a uno e l' algoritmo termina;
-Se il bit i-esimo è uno lo metti uguale a zero e ripeti l' algoritmo con i=i+1.
Quindi se hai v1=[0,0,1,1,1] :
i=0, v0=1 (il meno significativo è quello più a destra), lo metti uguale a zero e l' array è:
[0,0,1,1,0]
i=1 -> [0,0,1,0,0]
i=2 -> [0,0,0,0,0]
i=3 -> [0,1,0,0,0]
Tieni però presente che non funziona così se devi sommare un numero diverso da 1, in tal caso, devi tenere traccia dei vari riporti se ti serve una funzione per fare la somma generica.