{"id":28808,"date":"2024-04-24T04:51:27","date_gmt":"2024-04-24T02:51:27","guid":{"rendered":"https:\/\/xmau.com\/wp\/notiziole\/?p=28808"},"modified":"2026-06-10T13:00:48","modified_gmt":"2026-06-10T11:00:48","slug":"radice-quadrata-inversa-veloce","status":"publish","type":"post","link":"https:\/\/xmau.com\/notiziole\/2024\/04\/24\/radice-quadrata-inversa-veloce\/","title":{"rendered":"Radice quadrata inversa veloce"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/04\/rsqrt.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/04\/rsqrt.jpg?resize=677%2C305&#038;ssl=1\" alt=\"\" width=\"677\" height=\"305\" class=\"aligncenter size-full wp-image-28809\" srcset=\"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/04\/rsqrt.jpg?w=677&amp;ssl=1 677w, https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/04\/rsqrt.jpg?resize=300%2C135&amp;ssl=1 300w, https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/04\/rsqrt.jpg?resize=624%2C281&amp;ssl=1 624w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a> Negli anni &#8217;90 del secolo scorso i personal computer cominciavano a essere una presenza usuale, e spuntavano i primi giochi grafici: il guaio \u00e8 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\u00f9 strani metodi per eseguire le operazioni pi\u00f9 complicate: ma l&#8217;algoritmo per la <a href=\"https:\/\/it.wikipedia.org\/wiki\/Radice_quadrata_inversa_veloce\">radice quadrata inversa veloce<\/a> ha battuto ogni record.<\/p>\n<p>Per prima cosa, che significa &#8220;Radice quadrata inversa&#8221;? \u00c8 l&#8217;operazione che da <i>x<\/i> ottiene <i>x<\/i><sup>&minus;&frac12;<\/sup>, cio\u00e8 l&#8217;inverso della radice quadrata di <i>x<\/i>. Naturalmente &#8220;veloce&#8221; significa che l&#8217;algoritmo usato \u00e8 pi\u00f9 veloce di quello standard, probabilmente legato all&#8217;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&#8217;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 <i>x<\/i> (float a 32 bit), e si salvava la sua met\u00e0 <i>x2 = x<\/i>\/2 per dopo. Poi si prendeva <i>x<\/i>, <b>lo si leggeva come se la successione di bit rappresentasse un intero<\/b>, 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 <i>y<\/i> come fosse un float. Seguiva un&#8217;iterazione dove <i>y<\/i>  veniva ricalcolato come 1,5 &minus; (<i>x2<\/i> &times; <i>y<\/i>&sup2;). Tutto qua.<\/p>\n<p>Ma come \u00e8 stata trovata questa costante? Non ho avuto voglia di leggermi <a href=\"https:\/\/web.archive.org\/web\/20130309065349\/http:\/\/eggroll.unbsj.ca\/rsqrt\/rsqrt.pdf\">tutta questa tesina<\/a>, lo ammetto :-) Tanto ormai le CPU calcolano in virgola mobile a una velocit\u00e0 incredibile&#8230;<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:80,&quot;href&quot;:&quot;https:\\\/\\\/it.wikipedia.org\\\/wiki\\\/Radice_quadrata_inversa_veloce&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251105145913\\\/https:\\\/\\\/it.wikipedia.org\\\/wiki\\\/Radice_quadrata_inversa_veloce&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-10 11:01:32&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-13 11:50:25&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-19 01:54:25&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-19 01:54:25&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>un metodo molto strano per fare un calcolo<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_post_was_ever_published":false},"categories":[976,214],"tags":[],"class_list":["post-28808","post","type-post","status-publish","format-standard","hentry","category-matelight-2024","category-matematica_light"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/phh2yV-7uE","jetpack-related-posts":[{"id":37454,"url":"https:\/\/xmau.com\/notiziole\/2026\/06\/10\/algoritmi-retrodatati\/","url_meta":{"origin":28808,"position":0},"title":"Algoritmi retrodatati","author":".mau.","date":"2026-06-10","format":false,"excerpt":"La radice quadrata inversa veloce \u00e8 pi\u00f9 antica di quanto si pensasse","rel":"","context":"In &quot;curiosit\u00e0 2026&quot;","block_context":{"text":"curiosit\u00e0 2026","link":"https:\/\/xmau.com\/notiziole\/category\/curiosita\/curiosita-2026\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":37516,"url":"https:\/\/xmau.com\/notiziole\/2026\/06\/17\/radice-quadrata-intera\/","url_meta":{"origin":28808,"position":1},"title":"radice quadrata intera","author":".mau.","date":"2026-06-17","format":false,"excerpt":"\u00e8 stranamente calcolabile con lo stesso algoritmo con i numeri reali","rel":"","context":"In &quot;mate-light 2026&quot;","block_context":{"text":"mate-light 2026","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/matelight-2026\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6534,"url":"https:\/\/xmau.com\/notiziole\/2008\/11\/12\/parole_matemati_12\/","url_meta":{"origin":28808,"position":2},"title":"parole matematiche: radice","author":".mau.","date":"2008-11-12","format":false,"excerpt":"La radice quadrata c'entra o no con la radice di un albero?","rel":"","context":"In &quot;matematica_light&quot;","block_context":{"text":"matematica_light","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":30179,"url":"https:\/\/xmau.com\/notiziole\/2024\/12\/10\/matematica-lezione-44-problemi-inversi\/","url_meta":{"origin":28808,"position":3},"title":"MATEMATICA &#8211; Lezione 44: Problemi inversi","author":".mau.","date":"2024-12-10","format":false,"excerpt":"come trovare la domanda di cui conosciamo (pi\u00f9 o meno) la risposta.","rel":"","context":"In &quot;rec-2024&quot;","block_context":{"text":"rec-2024","link":"https:\/\/xmau.com\/notiziole\/category\/recensioni\/recensioni-2024\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/12\/mate44-194x300.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27765,"url":"https:\/\/xmau.com\/notiziole\/2023\/11\/22\/media-quadratica-ed-eroniana\/","url_meta":{"origin":28808,"position":4},"title":"Media quadratica ed eroniana","author":".mau.","date":"2023-11-22","format":false,"excerpt":"non ne avevo mai sentito parlare, eppure alle medie l'avevo usata!","rel":"","context":"In &quot;matematica_light&quot;","block_context":{"text":"matematica_light","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2023\/11\/QM_AM_GM_HM.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":6913,"url":"https:\/\/xmau.com\/notiziole\/2009\/03\/16\/unisione\/","url_meta":{"origin":28808,"position":5},"title":"Unisione","author":".mau.","date":"2009-03-16","format":false,"excerpt":"una nuova operazione aritmetica...","rel":"","context":"In &quot;matematica_light&quot;","block_context":{"text":"matematica_light","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/28808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/comments?post=28808"}],"version-history":[{"count":4,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/28808\/revisions"}],"predecessor-version":[{"id":37452,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/28808\/revisions\/37452"}],"wp:attachment":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/media?parent=28808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/categories?post=28808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/tags?post=28808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}