Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    @ing82 @MItaly Grazie mille per l'interessamento e per l'aiuto!
    L'altro giorno alla fine ero riuscita a risolvere perché invece di scrivere pow(x,(2./3.)) ho usato l'operatore per la conversione double quindi pow(x,(double)(2/3)), perché ho pensato che il pow richiede solo double come argomenti -> pow(double,double) e infatti così non mi ha più dato problemi, il programma funzionava..Quello che non capisco è perché 2./3. non me lo riconosceva come double mentre double(2./3.) sì anche se in realtà lo sono entrambi....
    Ho provato anche con pow(-x, 2./3.) come hai detto tu @MItaly e anche così funziona, quindi grazie mille!

  2. #2
    Quote Originariamente inviata da martatos Visualizza il messaggio
    @ing82 @MItaly Grazie mille per l'interessamento e per l'aiuto!
    L'altro giorno alla fine ero riuscita a risolvere perché invece di scrivere pow(x,(2./3.)) ho usato l'operatore per la conversione double quindi pow(x,(double)(2/3)), perché ho pensato che il pow richiede solo double come argomenti -> pow(double,double) e infatti così non mi ha più dato problemi, il programma funzionava..Quello che non capisco è perché 2./3. non me lo riconosceva come double mentre double(2./3.) sì anche se in realtà lo sono entrambi....
    Se scrivi (double)(2/3) ottieni sempre 0: visto che 2 e 3 sono interi fa una divisione intera (e 2/3 in divisione intera dà 0), e poi converte il risultato a double; invece che NaN ottenevi sempre 1.
    Amaro C++, il gusto pieno dell'undefined behavior.

Tag per questa discussione

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.