Однажды я ввёл в строку поиска Яндекса вот такой простенький арифметический пример: 0.8-0.5-0.2-0.1 Очевидно было бы ожидать ответ0.
Но вот что он выдал на самом деле:
Проверил в Империи чисел, и она туда же
Дело в том, что и WolframAlpha с ними за одно Менее мощные вычислительные программы, например что используется Google, выдают более предсказуемый результат0. Почему мощные программы выдают столь обескураживающий результат? Может мы чего- то не знаем об этом мире?
Видимо, в двоичной сс это получаются бесконечные дроби. Программы их округляют, причем любопытно, что не округляют, а просто обрезают и в результате погрешность выскакивает в расчет. Менее мощные программы обрезают раньше. Как ни смешно, при этом погрешность проявиться не успевает. А возможно, менее мощные используют алгоритм с десятеричной сс Между своеобразной логикой и откровенной глупостью иногда очень тонкая грань.
Видимо, в двоичной сс это получаются бесконечные дроби.
Я думаю, что Вы правы. Если переводить дробь в двоичную систему, то она будет бесконечна, циклически по кругу повторяться, например, 0,8 0,8*2=1,6 0,6*2=1,2 0,2*2=0,4 0,4*2=0,8 0,8*2=1,6 ...........и т.д. бесконечно. 0,8=1100110011001100110011001100.......... Как Вы пишите, простые системы обрубают, как только начинается циклическое повторение, а супер системы, видимо считают до миллионных знаков после запятой, поэтому такая фигня получается.
Сообщение отредактировал nebo - Пт, 04.09.20, 17:07
никник, я честно не ожидал. Моими ожиданиями были пару страниц решения этой проблемы. В задаче даже есть странный с точки зрения логики момент, который как я рассчитывал потом заметят и.... В общем ладно, задача благополучно и ... и на удивление быстро решена. Помните в задаче Реальна ли симуляциябыло размещено видео с дебатами учёных по этому вопросу. Во время дебатов Гейтс Сильвестр Джеймс Говорил о том, что в решаемых им уравнениях он нашел коды коррекирующие ошибки. Собственно при обдумывании этого и радилась данная задача, в попытках более аргументированно подтвердить утверждение «Вселенная не симуляция, потому что pi». Но здесь речь не об этом, а о том, что практически все вычислительные программы используют плавующую запятую, т. е. хранят числа в виде например 1.10001*25 и по этому расчёты симметричны относительно 0, поэтому программу можно "обмануть" с расчётами результат которых близок к 0, используя числа которые в двоичной СС не имеют конечного представления. Например если в Excel мы запиши пример 0.5-0.4-0.1 то ошибку в расчётах откорректирует специальный код, и программа выдаст результат 0 Однако если мы поставим скобки, то это будет означать для программы, что мы собираемся производить дальнейшие расчёты, поэтому она сохранит результат вычисления выражения в скобках без коррекции, это как не странно, необходимо для повышения точности в дальнейших расчётах, но тут мы опять обманим программу, и умножим результат на 1, на нейтральный элемент, который результат не меняет. . Это может показаться любопытным, но я в этом вижу проблемы, самая малая из которых но и не менее важная, заключается в том, что например Excel используют бухгалтера, которые начисляют нам зарплату, и я не уверен, что они имеют верное представление о том что они делают. Но не будем о грустном. никник, Вы просто молодчина, приятно удивили. :bravo: Всем спасибо за участие.
а супер системы, видимо считают до миллионных знаков после запятой,
супер системы, видимо, считают до 10-15 процента от значения. Ошибка ведь должна бы ограничиваться одним-двумя знаками последнего разряда расчетов. Тут все равно не очень понятно откуда они берут все эти знаки после запятой. Видимо, это происходит при обратном переводе из двоичной в десятичную систему. Хотя 1/217 немножко другое число. Между своеобразной логикой и откровенной глупостью иногда очень тонкая грань.
Сообщение отредактировал никник - Вт, 08.09.20, 15:55
Excel используют бухгалтера, которые начисляют нам зарплату, и я не уверен, что они имеют верное представление о том что они делают.
БухгалтерЫ, не имеют других мелких денег, кроме копеек, которые округляются по правилам математики. Самый жуткий ужас перфекциониста - поделить рубль на троих) В одном Вы правы - что Минфин творит с нашим учётом, одному Богу известно.
«Во имя человечества ― пора, Необходимо для целей природы, Чтоб у кормила ― вы, бухгалтера. Стояли. Рядом с вами ― счетоводы. » [Б. А. Слуцкий. Счетные работники (1952-1956)]
БухгалтерЫ - это люди, которые понимают с чем они работают и осознают, что некоторые манипуляции могут увеличивать ошибки до значимых значений. БухгалтерА - это люди, которые не хотят или не могут понять с чем они работают. Различия примерно такие же, как различия например между десантниками и вдвшниками (те, которые голову не по назначению используют).
В своём сообщении слово "бухгалтера" я использовал именно для семантического окраса, - это такой приём языковой игры.
«Я бухгалтеров-то видел-перевидел!.. Бухгалтера тихие все, маленько вроде пришибленные.»
[Василий Шукшин. Калина красная (1973)]
«Ишь ты ― бухгалтера у них, барышни благородные с ногтями. [М. А. Шолохов. (1923-1925)]
-------------------------------------- Здесь вспомнилась очень популярная в этих ваших тырнетах учительница русского языка Татьяна Гартман, которая очень любит разбирать речь популярных (и не очень) людей аппелируя к словарям и нормам русского языка.
И ведь она очень популярна и даже выступает экспертом у ряда чиновников. Однако она совсем не понимает того, с чем она работает.
P. S. Дабы избежать дальнейшего расцвета прескриптивизма на форуме, советую посмотреть последний ролик целиком.
а супер системы, видимо считают до миллионных знаков после запятой
Цитатаникник; ()
супер системы, видимо, считают до 10-15 процента от значения.
Ну например Excel может хранить числа от 1,79769313486232 Е308 до 2,2250738585072Е-308, но даёт результат с точностью только до 15 значимых цифр , и это не связано с ограничениями программы, это связано с используемым в программе стандартомIEEE 754 (используется практически во всех вычислительных программах) который и устанавливает формат точности и правила округления. 龱石ыч廾闩牙 ㄖ山и石长闩....
Сообщение отредактировал Дилетант - Ср, 09.09.20, 21:01
Зачем Вы намеренно делаете ошибки в словах? Что или кто привело вас именно на этот форум? Признайтесь, пожалуйста, Вы реально просмотрели все эти ролики? Спасибо, если откровенно ответите на любой из вопросов.
Ваше сообщение опубликовано в 21:05, а последняя редакция сообщения #8 была в 21:01 Я так понимаю Вы не посмотрели последний ролик до конца,... а жаль.
ЦитатаVita ()
Что или кто привело вас именно на этот форум?
Именно на этот форум привело засилие его псевдонаучной и околонаучной ерундой. Форум в основном рассчитан на школьников, поэтому было бы просто преступно проходить мимо, когда школьникам явно насаждают ложные убеждения. Хотя стоит отметить, что на форуме достаточно много вполне качественных задач просветительского характера, школьного и сдуденческого уровня.
ЦитатаVita ()
Признайтесь, пожалуйста, Вы реально просмотрели все эти ролики?
Да. А Вы обычно выкладываете ролики о содержании которых не имеете никакого понятия? 龱石ыч廾闩牙 ㄖ山и石长闩....
Сообщение отредактировал Дилетант - Чт, 10.09.20, 06:47