Livejournal
Log in
Post
Friends
My journal
ratnos
in
ru_php
(Untitled)
May 14, 2015 18:32
print floor(log(1000, 10)); # => 2
UPD: Норм, живём.
print floor(log10(1000)); # => 3
Leave a comment
Comments 35
ujinsky
May 14 2015, 09:30:42 UTC
фигня какая-то.
Reply
rainman_rocks
May 14 2015, 10:58:52 UTC
В нормальных языках тоже так:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from math import log, floor
>>> print floor(log(1000, 10));
2.0
Добро пожаловать в чудесный мир плавающей точки.
Reply
ujinsky
May 14 2015, 11:07:04 UTC
Получается, что питон тоже не нормальный язык )
Вот Go - нормально обрабатывает ситуацию:
package main
import "math"
func main() {
println(math.Floor(math.Log10(1000)))
}
+3.000000e+000
Reply
deka
May 15 2015, 22:54:38 UTC
"Получается"?! А что, в том, что питон ненормальный язык, были сомнения? ;)
Reply
Thread 15
diesel_ks
May 14 2015, 10:06:40 UTC
вроде ж чинили....
Reply
rainman_rocks
May 14 2015, 10:59:49 UTC
это ж IEEE 754, как его починишь-то
Reply
deka
May 15 2015, 22:57:20 UTC
А чего такого? В терминах точности вычислений с плавающей точкой всё верно.
В конце концов пхп же не предназначен для особо точных вычислений ;)
Reply
ratnos
May 16 2015, 01:53:39 UTC
> пхп же не предназначен
ага. и питон не предназначен.
Reply
deka
May 16 2015, 02:29:25 UTC
А что, это открытие?
Reply
ratnos
May 16 2015, 03:01:53 UTC
Вы разницу между "не особо точным вычислением" и "округлить 3 до 2" понимаете?
Reply
Thread 18
Leave a comment
Up
Comments 35
Reply
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from math import log, floor
>>> print floor(log(1000, 10));
2.0
Добро пожаловать в чудесный мир плавающей точки.
Reply
Вот Go - нормально обрабатывает ситуацию:
package main
import "math"
func main() {
println(math.Floor(math.Log10(1000)))
}
+3.000000e+000
Reply
Reply
Reply
Reply
В конце концов пхп же не предназначен для особо точных вычислений ;)
Reply
ага. и питон не предназначен.
Reply
Reply
Reply
Leave a comment