Radice quadrata inversa veloce
Negli anni ’90 del secolo scorso i personal computer cominciavano a essere una presenza usuale, e spuntavano i primi giochi grafici: il guaio è che per avere della bella grafica occorre fare tanti conti e la potenza di quei computer non era certo quella attuale, soprattutto se si dovevano usare le operazioni in virgola mobile e non quelle con gli interi. Occorreva dunque inventarsi i più strani metodi per eseguire le operazioni più complicate: ma l’algoritmo per la radice quadrata inversa veloce ha battuto ogni record.
Per prima cosa, che significa “Radice quadrata inversa”? È l’operazione che da x ottiene x−½, cioè l’inverso della radice quadrata di x. Naturalmente “veloce” significa che l’algoritmo usato è più veloce di quello standard, probabilmente legato all’iterazione con il metodo di Newton a partire da una approssimazione. La prima implementazione per la radice quadrata inversa veloce prevedeva una tabella precompilata di dati da cui partire e migliorare il risultato approssimato; ma anche lo spazio a disposizione non era poi troppo. L’algoritmo che secondo Wikipedia fu ideato alla Silicon Graphics non aveva invece bisogno di una tabella, ma solo di una costante magica: 0x5f3759df. Come funzionava questo algoritmo? Si prendeva il numero x (float a 32 bit), e si salvava la sua metà x2 = x/2 per dopo. Poi si prendeva x, lo si leggeva come se la successione di bit rappresentasse un intero, si faceva uno shift logico a sinistra di una posizione (il primo bit veniva buttato via, gli altri scalavano di una posizione a sinistra, e si metteva uno zero in fondo), si sottraeva questo numero dalla costante magica e si leggeva il risultato y come fosse un float. Seguiva un’iterazione dove y veniva ricalcolato come 1,5 − (x2 × y²). Tutto qua.
Ma come è stata trovata questa costante? Non ho avuto voglia di leggermi tutta questa tesina, lo ammetto :-) Tanto ormai le CPU calcolano in virgola mobile a una velocità incredibile…
Ultimo aggiornamento: 2026-06-10 13:00


Il trucco è esattamente quello del quadretto mancante, che vedete qui a destra. In pratica, quello che sembra un triangolo non lo è perché le due linee diagonali hanno una pendenza leggermente diversa, ed è proprio quella diversità che porta ad avere una differenza di un quadretto se sovrapponessimo le due figure. 
Ho scoperto solo qualche giorno fa (ma Wikipedia 


Ieri avevo mostrato una successione generata con regole molto semplici che tendeva al valore pi greco. Spero che i miei ventun lettori, o almeno quelli di loro che hanno una formazione matematica, abbiano capito che era uno scherzo. Le successioni delle due colonne sono di tipo Fibonacci, visto che ogni numero è la somma dei due precedenti. Questo significa che il rapporto tra due numeri successivi in ogni colonna tende al valore aureo φ; le due colonne sono successioni di Fibonacci, la seconda scalata di un fattore 5 e la prima scalata di un fattore 6 e senza i primi due termini. Ciò significa che il rapporto tra le due successioni tenderà a 6/5 φ² (il bello del rapporto aureo è anche questo!)