Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    BigInteger e radici quadrate

    Ciao a tutti, volevo chiedere se qualcuno conosce il modo per poter calcolare le radici quadrate di numeri BigInteger. Ho dato un'occhiata alle varie API di java ma non ho trovato nulla ke mi potesse aiutare, ad eccezione del metodo pow(int x) che però non mi permette di operare con le radici visto che non accetta parametri come 1/2 o -2. Grazie a tutti quelli che mi risponderanno.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,462

    Moderazione

    Sposto la discussione nel sottoforum dedicato a Java.
    Suggerisco inoltre di leggere il Regolamento, dato che sei nuovo, per conoscere tutte le norme da seguire.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Scusami, pensavo di essere già nella sottosezione java visto che avevo fatto la ricerca per vedere se c'erano topic che trattavano già questo argomento. Evidentemente mi sono sbagliato. Scusa ancora

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: BigInteger e radici quadrate

    Originariamente inviato da Snakel85
    Ciao a tutti, volevo chiedere se qualcuno conosce il modo per poter calcolare le radici quadrate di numeri BigInteger. Ho dato un'occhiata alle varie API di java ma non ho trovato nulla ke mi potesse aiutare, ad eccezione del metodo pow(int x) che però non mi permette di operare con le radici visto che non accetta parametri come 1/2 o -2. Grazie a tutti quelli che mi risponderanno.
    Purtroppo è vero che BigInteger non offre un metodo per la radice quadrata. Però è anche vero che la si può calcolare usando un qualche apposito algoritmo!

    Segui il mio link "Java Tips" in firma e vedi nella sezione Math.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie tante andbin. Ho aggiunto la pagina ai miei preferiti e sono sicuro che mi tornerà utile anche in futuro.

    Potresti però spiegarmi questo comando per favore?
    xn = value.divide (x).add (x).shiftRight (1);

    Grazie tante.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Snakel85
    Grazie tante andbin. Ho aggiunto la pagina ai miei preferiti e sono sicuro che mi tornerà utile anche in futuro.
    Prego.

    Originariamente inviato da Snakel85
    Potresti però spiegarmi questo comando per favore?
    xn = value.divide (x).add (x).shiftRight (1);
    I metodi divide, add e shiftRight ritornano un nuovo BigInteger e in questi casi si possono concatenare: l'oggetto BigInteger restituito da un metodo, viene subito usato per eseguirci sopra un altro metodo, ecc...
    Il metodo shiftRight sposta i bit a destra di n posizioni, usando n=1, in pratica si fa una divisione per 2.

    In sostanza la formula risulta essere:

    xn = ((value / x) + x) / 2

    che se vai a vedere, è la stessa usata dal metodo di Newton.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Ho capito. Grazie ancora per l'aiuto datomi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.