Il mio libriccino su Swift è in vendita e sono emozionato come uno scolaretto. So per certo che ne sono state vendute almeno due copie, quindi il più è fatto.
La prima è questa:
@loox appena consegnato.. pic.twitter.com/LUv0BUtqHz
— macmau74 (@macmau74) May 7, 2015
La seconda è di Simone che mi ha mandato il primo errata e ringrazio.
Al capitolo 2, elencando gli operatori principali disponibili per
Swift, ho scritto dell’operatore >>
e affermato che prende i bit della versione binaria di un numero e li sposta di una o più posizioni verso destra, a raddoppiare il valore del numero stesso.
In verità lo spostamento verso destra dimezza un numero binario. Prendiamo il numero otto, scritto in binario 1000. Se sposto a destra di una posizione ciascuna cifra – distruggo la cifra più a destra, introduco uno zero a sinistra – arrivo a 0100, che vale quattro.
La nozione viene spiegata correttamente all’inizio della pagina 39 in cui c’è l’errore, che riguarda solo l’esempio. Utilizzando i file playground di esempio scaricabili gratis dalla pagina della scheda del libro si verifica chiaramente tutto quanto.
Per inciso, raddoppiare un numero binario implica spostarne le cifre di una posizione verso sinistra, eliminando il bit più a sinistra e inserendo uno zero in fondo a destra. Si fa in Swift con l’operatore <<
, stavolta spiegato come si deve sempre a pagina 39, capitolo 2.
È solo l’inizio: questo era molto semplice e confido di vedere errori sempre più spettacolari e criptici.