Jump to content
MrCookie20

Problema num trabalho académico

Recommended Posts

MrCookie20

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 by MrCookie20

Share this post


Link to post
Share on other sites
Gonçalo Silva

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 by Gonçalo Silva

Share this post


Link to post
Share on other sites
MrCookie20
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

Share this post


Link to post
Share on other sites
MrCookie20
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

Share this post


Link to post
Share on other sites
Gonçalo Silva

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)

Share this post


Link to post
Share on other sites
MrCookie20
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.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.