Pull to refresh

Comments 20

А теперь откроем консоль JavaScript (F12 в хроме), и напишем туда 0.1+0.2. Что же произошло? И вроде ничего удивительного в том, что parseInt от результата вернёт 0. Про второе может кто-то и не знал, а третье это RTFM.
Факт 1 — это не свойство php, это свойство вычислений с плавающей точкой вообще. Такую же ерунду (а также много других забавных вещей, например, -0) вы можете получать при использовании СПТ в большинстве языков программирования.
меня другое удивляет. Это что же, от PHP-истов требуют заучивать результаты выражений :)? А если там не 0.7 а 0.8, там ведь уже 9ка будет а не 8ка.
При работе с числами с плавающей запятой следует использовать BCMath. Тогда проблем с точностью вычислений не будет.
Именно из-за того, что существует математический парадокс, что 0.999… равно 1, мы и получили эту ошибку.
Во-первых, это не является математическим парадоксом. Во-вторых, эту ошибку мы получили по другой причине — из-за невозможности представить одну десятую в виде конечной двоичной дроби.
Семь десятых мы тоже не можем представить. Да собственно мы не можем представить любую дробь, в знаменателе которой не степень двойки.
Вообще по первому пункту у меня сложилось впечатление, что автор плохо понимает как представлены числа с плавающей точкой. Я хоть и не читал «Что каждый компьютерщик должен знать об операциях с плавающей точкой», но какое-то представление имею…

А так-то это рассказывают на первом курсе любой околокомпьютерной специальности.
числа с плавающей точкой не могут реально представить все действительные числа

Ничто в нашей вселенной не может представить _все_ действительные числа, быть может за исключением самой вселенной.
Если ничто в нашей вселенной не может представить все действительные числа, то и сама вселенная — тоже (ну если мы под «что» подразумеваем любые подмножества вселенной).
Даже если вселенная не может представить вещественные числа, то всевозможные подмножества, быть может, и могут =)
Неужели за эту статью кто-то выдал автору инвайт?
Сказал человек, зарегистрированный в прошлом году.
Ну, между событиями начинаешь читать хабр, получаешь инвайт, ну и в придачу можешь плюсовать проходит достаточно много времени ;)
Хабр я читаю уже года четыре. И ясно вижу разницу между тем, что было года 3 назад и тем, что сейчас.
Инвайт решил получить как раз когда обратил внимание на тенденцию снижения качества контента. Захотелось поддержать тех, кто писал глубокие статьи. А без инвайте не поплюсуешь.
Зато сейчас повод плючануть статью попадается очень редко.
вы прослушали монолог из цикла «Как не читать документацию и удивляться жизни».
Мне так нравится читать стати о PHP, где автор разоблачает — какой же плохой язык, но всегда всё сводится к тому, что автор мало что знает о языке, делает заводомо неверные действия, а затем удивляется что получился неверный результат. Обычно надо просто знать особенности того или иного языка, чтобы не было гавнокода и статей что PHP ужасный язык для быдлокодеров. Напомню что такие штуки как википедия, фейсбук и вконтакт написаны (изначально) на php и сволне успешно работают по сей день, не это ли важно?
Кое-что реально удивило. Век живи — век учись.
Спасибо автору.
Only those users with full accounts are able to leave comments. Log in, please.