ESTOURO AO FAZER UMA SIMPLES CONTA.

EDILESIO 18/12/2006 17:18:10
#190724
Nunca vi isso na minha vida... e quero a opnião de vocês.

Criem um projeto novo no VB 6, adicionem um botão e coloquem o simples código nele.
[S25]
Private Sub Command1_Click()
MsgBox 328 * 100
End Sub


Executem e vejam o resultado que retorna.
[S30]"Estouro"

Alguém sabe me dizer o porque?[S68]
ESLEYSANCHES 18/12/2006 17:23:25
#190726
Resposta escolhida
Declare antes uma variavel como double e faça a operação tipo assim:

DIM VALOR AS DOUBLE
VALOR = "328"
msgbox(VALOR * 100)


Espero que te ajude !!
Abraços !!
EDILESIO 18/12/2006 17:27:55
#190728
Valeu Esley, agradeço pela resposta!
Mas só achei curioso o porque isto acontece...você também não?
Pois é um simples cálculo!
ESLEYSANCHES 18/12/2006 17:28:27
#190729
Antes é necessário preparar uma variavel para receber um valor ... poderia ser uma integer, mais o valor sairá um pouco alto né ? então declaramos como double, assim o sistema se prepara para receber um número alto, em seguida atribui um valor a essa variavel, ou seja 328 depois peguei esse valor e mandei exibir em uma caixa de mensagem multiplicando ele por 100

Espero que te ajude !!
Abraços cara !!
EDILESIO 18/12/2006 17:32:16
#190731
OK!
AJUDOU BASTANTE.
VIVENDO E APRENDENDO...RS

OBRIGADO!
ESLEYSANCHES 18/12/2006 17:32:22
#190732
é também achei meio estranho, mais está ae acima uma resposta satisfatorio sobre o porque que isso aconteceu ...

Abraços cara !!
ALMARTI 19/12/2006 08:52:40
#190782
Desculpe, mas realmente achei estranho isto. EM linhas gertais, como não foi declarado nenhum variável, o VB assumiria variant. O mais estranho, é que o produto de 328*100 estouraria uma variável do tipo integer (32000), mas se fizer:

Private Sub Command1_Click()
MsgBox 123456789 * 11
End Sub


Não dá estouro.
Tópico encerrado , respostas não são mais permitidas