MrCookie20 0 Posted December 23, 2019 Report Share Posted December 23, 2019 (edited) Boa noite, Estou atualmente a fazer um trabalho académico no âmbito da cadeira de programação em que consiste saber a média e o desvio padrão de determinados custos, o meu problema é que eu desenvolvi uma forma para calcular o desvio padrão e ao que aparenta ela por vezes funciona corretamente mas tem vezes que surge este número "-2147483648", já andei às voltas e não consegui achar uma solução para isto, se alguém poder me ajudar por favor mande-me mensagem privada, pois não queria, por agora, disponibilizar o meu trabalho publicamente. Edited December 23, 2019 by MrCookie20 Link to post Share on other sites
Rui Carlos 359 Posted December 24, 2019 Report Share Posted December 24, 2019 Por acaso não estás a calcular o desvio padrão com inteiros? Rui Carlos Gonçalves Link to post Share on other sites
Gonçalo Silva 3 Posted December 24, 2019 Report Share Posted December 24, 2019 (edited) deves estar a usar inteiros de 4 bytes Citação Size of int types is 4 bytes Signed int min: -2147483648 max: 2147483647 Unsigned int min: 0 max: 4294967295 2147483647+1=-2147483648 Edited December 24, 2019 by Gonçalo Silva Link to post Share on other sites
MrCookie20 0 Posted December 24, 2019 Author Report Share Posted December 24, 2019 4 horas atrás, Rui Carlos disse: Por acaso não estás a calcular o desvio padrão com inteiros? Sim estou, isso seria algum problema, eu experimentei por as variáveis em float e ocorre o mesmo Link to post Share on other sites
MrCookie20 0 Posted December 24, 2019 Author Report Share Posted December 24, 2019 3 horas atrás, Gonçalo Silva disse: deves estar a usar inteiros de 4 bytes 2147483647+1=-2147483648 Sim estou, peço desculpa a ignorância mas não percebi honestamente o que tenho que fazer para impedir esse erro Link to post Share on other sites
Gonçalo Silva 3 Posted December 24, 2019 Report Share Posted December 24, 2019 Não conheço C++ nem o teu projeto, mas o melhor a fazer seria usares inteiros de 8bytes ou até maiores (se forem suportados) Link to post Share on other sites
Rui Carlos 359 Posted December 25, 2019 Report Share Posted December 25, 2019 O desvio padrão não é um valor inteiro. O melhor é converter os valores para double antes de começar os cálculos. Rui Carlos Gonçalves Link to post Share on other sites
MrCookie20 0 Posted December 26, 2019 Author Report Share Posted December 26, 2019 8 horas atrás, Rui Carlos disse: O desvio padrão não é um valor inteiro. O melhor é converter os valores para double antes de começar os cálculos. Irei aplicar isso e depois digo no que deu esta mudança, já agora boas festas. Link to post Share on other sites
HappyHippyHippo 1,162 Posted February 14, 2020 Report Share Posted February 14, 2020 parece que deu resultado IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now