Таблицы Google Docs и нелинейная математика
30484
61
Mozepiy
Даже больше того, (1/3)*3 - 1 = -1 . А вот (1./3.)*3. -1. будет где-то около нуля.
С какого перепугу будет -1 ?
Числа заданы без десятичной точки, следовательно, подразумеваются целочисленные вычисления. В этом случае 1/3=0, а дальше -- понятно. Такая логика во всех мне известных языках программирования.
pavelv
А, нуда, затупил сутра .)
pavelv
:улыб:Значит Вам не так много языков известно. Целочисленное деление 1/3 в PHP например дает float 0.3333:улыб:

The division operator ("/") returns a float value unless the two operands are integers

Собственно, ваш пост о том же: вычмлительные методы в компьютерах требуют грамотного использования. И только.
tolstopuz
Да, с PHP не связывался. Но, учитывая такое его поведение, и не хочу:улыб:
А по теме -- совершенно согласен. Если примененный вычислительный метод дает большую погрешность, значит, пользователь просто не знает, в какой ситуации какой метод нужно использовать.
R00
К примеру, в линейной алгебре. Из-за этого на компьютере нифига не работает метод Гаусса, метод определителей (Крамера) и еще дофига разных теоретически безупречных матметодов. Проблема философская, математика хороша, но, падло, с реальностью совпадает не всегда.
Офигенное заявление. Особенно приплетение философии - это ваще 5.
Вы расскажите это тем, кто этими методами таки решает уравнения на компьютерах, а то они не в курсе, болезные, не ведают чего творят.
Ну и с вычислительной математикой познакомьтесь хоть немного: чего там и в каком порядке рекомендуют скрадывать/умножать, хотя бы в инженерном объеме познакомьтесь. Причем проработано досконально, и написано подробно в учебниках годов так 50..60-х прошлого века. Нынче, похоже, забылось, "за давностью"...:хммм:

А то пока что вы, извините, несете ересь.

PS
Еще раз убедился, что философию начинают приплетать там, где не имеют фактических знаний. Это уместно на острие науки, на границе непознанного, но для давно известного человечеству - сие есть ламерство, без обид. Впрочем, граница познанного - у каждого своя, так что вам есть куда стремиться, удачи.
tolstopuz
Значит Вам не так много языков известно. Целочисленное деление 1/3 в PHP например дает float 0.3333
Языки тут ни при чем. Если в результате операции деления получается значение с плавающей точкой - это уже никак не называется "целочисленным делением". Так что не надо обманывать и тасовать термины )
KSergey
Языки тут ни при чем.
Эта, давайте всеже отличать статическую и динамическую типизацию языков. Деление то целочисленное (делим int на int), а тип переменной определяется полученным результатом (float), от такой фокус ,)
Mozepiy
Эта, давайте всеже отличать статическую и динамическую типизацию языков. Деление то целочисленное (делим int на int), а тип переменной определяется полученным результатом (float), от такой фокус ,)
Тип переменной, куда будет помещен результат, вообще ни при чем. Это отдельный разговор.
Давайте ограничимся типом результата выражения.
В данном случае PHP (приведена была цитата) нам явно говорит, что операция обозначаемая "/" будет выполняться как деление чисел с плавающей точкой не зависимо от типа ее аргументов. Все.

В других языках правила интерпретации операции "/" другие, конечно.
(получается, зависит от языка? а чего я сказать-то тогда хотел? хм..)
KSergey
Чего уж так сразу и "обманывать"? Я для чего цитату привел...

Целочисленное деление - это деление целых чисел, математический термин... какая нафиг разница как оператор пишется.
tolstopuz
Но мы ведь видим, что приведенный язык PHP выполняет вовсе не целочисленное деление, верно? на и в приведенной цитате слова "целочисленное" - не наблюдается.

Целочисленное деление - это деление целых чисел, математический термин... какая нафиг разница как оператор пишется.
В моем понимании (в моём, как на самом деле - не знаю), целочисленное деление - это деление не просто целых чисел, но и вычисление результата только до целого числа (с отбрасыванием дробной части), вне зависимости от типа возвращаемой переменной. Как видим, PHP делает не так, потому и называю указанную в нем операцию - не целочисленным делением.
KSergey
Э-э-э, позвольте! А как же "полиморфизм" в ООП? У операции есть операнды и результат... делим целое число на целое... и хто Вам сказал, что результат не строка в кодировке "мумба-юмба"?:улыб:

... но тем не менее, перекрыта какая операция? Угу. Целочисленное деление.:улыб:
tolstopuz
делим целое число на целое... и хто Вам сказал, что результат не строка в кодировке "мумба-юмба"?
Документация в данном случае дает однозначный ответ относительно типа результата.