Bug ou Noob, erro em expressão lógica/aritmetica

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug ou Noob, erro em expressão lógica/aritmetica

Joao Mendes de Oliveira Neto
Senhores,

Estou com um problema no seguinte código:

-----------------------------------------------------------------------------------------------------------------------------------------

local htrab_maq = 8.633
local jorntrab_maq = 8.8
local tol_maq = 0.167

print(htrab_maq >= (jorntrab_maq - tol_maq), htrab_maq,jorntrab_maq-tol_maq)


-----------------------------------------------------------------------------------------------------------------------------------------

O resultado esperado:
true     8.633    8.633

Resultado que estou conseguindo:
false    8.633    8.633

Alguém sabe me explicar o porque desse comportamento, obtive o mesmo resultado usando as versões:
5.1.2
5.1.5
http://www.lua.org/cgi-bin/demo

--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Bug ou Noob, erro em expressão lógica/aritmetica

Alex Queiroz
2013/3/6 Joao Mendes de Oliveira Neto <[hidden email]>:
> Senhores,
>
> Estou com um problema no seguinte código:
>

http://floating-point-gui.de/basic/

--
-alex
http://unendli.ch/

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Bug ou Noob, erro em expressão lógica/aritmetica

Anne Moreira
Esse erro pode ocorrer por conta da aproximação que lua faz. Tente fazer esse teste com mais casas decimais. 
(jorntrab_maq - tol_maq) pode ser 8.6630000001, por exemplo, por conta da aproximação.


2013/3/6 Alex Queiroz <[hidden email]>
2013/3/6 Joao Mendes de Oliveira Neto <[hidden email]>:
> Senhores,
>
> Estou com um problema no seguinte código:
>

http://floating-point-gui.de/basic/

--
-alex
http://unendli.ch/

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.





--

Anne Lorayne G. S. A. Moreira

--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Bug ou Noob, erro em expressão lógica/aritmetica

Luiz Henrique de Figueiredo
> Esse erro pode ocorrer por conta da aproximação que lua faz.

Lua usa os números de ponto flutuante nativos da máquina. Lua não faz
nenhuma aproximação em si.

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.