Re[18]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 09:18
Оценка:
Z_>Посчитать по формуле? Без применения числа пи? А если вы его применяете, то должны знать зачем и почему, и каков его математический смысл. А если не знаете, то сами подпадаете по свое же определение "выучить формулу еще не значит ее знать".

я где-то объявлял себя экспертом по числу пи?
В данном случае вычислить -- означает установить связь между объемами шаров в разных евклидовых измерениях, поэтому пи определяется через одно из них.
Для меня Пи это общий фактор многих естественно получающихся из физики интегралов и рядов.
Re[19]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 09:24
Оценка: -1
Здравствуйте, dilmah, Вы писали:


Z_>>Посчитать по формуле? Без применения числа пи? А если вы его применяете, то должны знать зачем и почему, и каков его математический смысл. А если не знаете, то сами подпадаете по свое же определение "выучить формулу еще не значит ее знать".

D>я где-то объявлял себя экспертом по числу пи?
Вы намекали что знаете формулы, а не просто их выучили. Я задал прямой вопрос по этому поводу, а вы стали кидаться профанациями и понтами.
Re[11]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 09:34
Оценка: :)
Здравствуйте, Олег К., Вы писали:

ОК>У тебя другая ситуация. Ты проверяешь установлены биты или нет. В приведенном же коде происходит сравнение double-ов.


Да, но представление числа все равно double по стандарту. Да и битовая операция по стандарту определена над типом double, не int. Просто когда мы работаем с double в пределах целочисленных значений и операций плюс, минус, умножить, то если исключить переполнение, то откуда возьмется погрешность?

#include <stdio.h>

int main(int argc, char* argv[])
{
  for (double i=0; i != 5; ++i)
    printf("%.2f\n", i);
  return 0;
}


ОК>Кстати, ты не с Паскаля начинал?


Нет, начинал с МК-52, потом MSX Basic + Turbo C 1.5, Atary Basic, Atary Assembler и только потом долгий период Pascal 5.5 — 7.0, Turbo Assembler, Delphi, ...
Re[20]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 09:40
Оценка:
Z_>Вы намекали что знаете формулы, а не просто их выучили. Я задал прямой вопрос по этому поводу, а вы стали кидаться профанациями и понтами.

бред какой-то
Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 09:47
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а я вот подумал вот о чем -- а если ли у нас гарантия, что поведение программы не будет зависеть от настроек компилятора? ведь x86 нативно работает не с float'ом. и без оптимизации там на каждом шагу происходит сплошное преобразование типов. а после оптимизации может оказаться, что у нас уже далеко не float и потери единицы не происходит. и если мы используем данную функции как IsIncOk(float a) то она может вернуть ок, даже когда на float начинается потеря точности, что обрушит код вызывающей функции...


А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.

Если брать JS, то там изначально представление double, которое не изменяет ни +1, ни ==

Единственное, чего можно опасаться, это что оптимизатор подумает что выражение a+1 == a должно быть всегда равно false. Но это же ошибка оптимизатора (ибо это не всегда правильно).
Re[12]: # как манагеров достали те, кого достали манагеры
От: denisko http://sdeniskos.blogspot.com/
Дата: 28.12.10 09:56
Оценка: -1 :)
Здравствуйте, dZentle_man, Вы писали:

Z_>Здравствуйте, dilmah, Вы писали:


Z_>>>превращает, превращает. Правда, наверное не у всех, у меня просто память не самая лучшая. Я вот в пору сдачи всяких тестов, госов, вступительных экзаменов и прочей ереси наизусть помнил очень много формул всяческих объемов, пересечений, преобразований. Но уже к концу второго курса практически полностью это растерял. Но это все фигня, а вот чему я никак не мог поверить — это когда нам в начале первого курса рассказывали что к концу пятого студенты деградируют в математике настолько, что забывают как решается квадратное уравнение, а уж это, как основа основ огромного числа задач по математике — было выжжено в мозгу каленым железом. И что вы думаете? Забыл! И даже вспоминать не хочется, хотя и стыдно.

D>>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.
Z_> А ведь без него не рассчитать тот же объем шара, например.
Рассчитать легко, просто вычислив тройной интеграл. Пи вводится в школе и институте фактически аксиоматически, теоретически это не очень хорошо просто потому что может где-то "стрельнуть", но при расчете объема шара стрельнуть оно может только в тех вселенных, где период функции exp[i*x] отличен от 2*pi. Большого смысла в заучивании пи, как, например, "предела отношения полупериметра правильного многоугольника к радиусу описанной вокруг него окружности" сейчас нет, поскольку аксиоматика сильно изменилась.
З.ы. Да, человек, который не может решить квадратного уравнения и вывести его, практически ничем не отличается от бомжа в метро, который ходит по вагону под себя.
<Подпись удалена модератором>
Re[9]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 10:01
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>С этим согласен, да. В ТурбоПаскале тип real по структуре совершенно отличался от ieee-754 и занимал 6 байтов, а не 4 или 8.


С точки зрения выражения a+1==a структура у Real такая же самая: 6 байт, экспонента 11 бит, мантисса сколько там есть. А в каком порядке оно там лежит это уже и не суть важно.
Re[6]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 28.12.10 10:07
Оценка:
M>А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.

ты прав, что типы там float. Но стандарты С/С++ позволяют компилятору генерировать промежуточные вычисления с расширенной точностью.
Зависимости от этого не будет, если явно сохранить (a+1) в float переменную, чего не делается.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 28.12.10 10:15
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


И куда слать резюме?
Re[10]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 28.12.10 10:20
Оценка:
Здравствуйте, dilmah, Вы писали:

D>ты видимо не просек всю фишку. Фишка в том, что если 5 велико, то возникнет бесконечный цикл, потому что i перестанет меняться от итерации к итерации, и останется меньше предела.

Ты уточнил бы что данный эффект проявляется если значение и инкремент различаются больше чем в 2^52 раз (для double)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: # как манагеров достали те, кого достали манагеры
От: dZentle_man  
Дата: 28.12.10 10:24
Оценка: +3 :)
Здравствуйте, denisko, Вы писали:


D>>>прочитать и запомнить формулу -- не означает, что ты ее когда-либо знал.

Z_>> А ведь без него не рассчитать тот же объем шара, например.
D>Рассчитать легко, просто вычислив тройной интеграл.
А я предъявлял к вам претензии? Обратите внимание на вопрос, который я задал dilmah — "каков математический смысл числа пи?", и что он мне стал отвечать — то про ванны с архимедом, то стал понтоваться знанием разных евклидовых пространств. Если бы он мне сразу ответил про акиоматичность и вынужденность применения этого понятия в средней школе, то это был бы верный ответ, и я бы может даже извинился за резкость. Но по-моему он прекрасно показал что не такой уж и великий профессор. А если не великий профессор, то хрен ли серить и наезжать что другие кроме него формулы заучивают, а он один их знает?


D>З.ы. Да, человек, который не может решить квадратного уравнения и вывести его, практически ничем не отличается от бомжа в метро, который ходит по вагону под себя.

Это в вас юношеский максимализм говорит. Вы пойдите соцопрос проведите — кто это знает, а тем более может вывести — даже среди студенчины. У нас около половины пришли в иснтитут со школы без этих знаний, и получили дипломы так и не заимев их. И вроде ничего, стульев мокрых не замечал.
Re[6]: # как манагеров достали те, кого достали манагеры
От: andrey.desman  
Дата: 28.12.10 10:34
Оценка: 16 (4) +1
Здравствуйте, Mystic, Вы писали:

M>А где там преобразования? По стандарту C, если хотя бы один из операндов имеет типа long double, то и второй проводится к типу long double. Не наш случай, смотрим иначе, там аналогично про double. Не наш случай, смотрим иначе. Там аналогично про float. Останавливаемся. Следовательно (a + 1) оба операнда будут приведены к float. А далее сравнение двух float, даже приводить ничего не надо.


Как я уже говорил, процессор внутри себя все вычисления производит в 80-битных числах. И тут уже как повезет... Если он сделает обрезание точности до double (float) перед сравнением, то этот код сработает, иначе запас точности у 80-битного числа больше.

Вот простой пример:
desman ~ 
$ cat test.cpp 
#include <iostream>
#include <float.h>

int main(void)
{

    double x = 11.0;
    double y =  11.0;

    std::cout << (x == y + DBL_EPSILON) <<std::endl;

    return 0;
}

desman ~ 
$ g++ test.cpp && ./a.out
0

desman ~ 
$ g++ -O2 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc32 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc64 test.cpp && ./a.out
1

desman ~ 
$ g++ -mpc80 test.cpp && ./a.out
0


Флаг mpcXX указывает компилятору ограничить точность чисел с плавающей запятой.
Без оптимизации (первый вывод) компилятор честно загружает числа в FPU складывает и сравнивает. Как видишь, результат — false, потому что вычисления по дефолту идут с 80-битной точностью.
С оптимизацией, компилятор заранее посчитал ответ и вывел константу. Тут уже х.з. как он считает у себя внутри, результат непредсказуем, но законен и тот, и этот.
С остальными понятно.
Re[4]: # как манагеров достали те, кого достали манагеры
От: мыщъх США http://nezumi-lab.org
Дата: 28.12.10 10:58
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, мыщъх, Вы писали:


М>>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


M>И куда слать резюме?

если вы серьезно, то я спрошу на какое мыло сдать (это если по "официальным" каналам), ну или могу сразу в руки руководителя группы. но только это не для удаленной работы. визу делать скорее всего будут ("скорее всего" т.к. х их з), чем занимается группа мне говорить не велено, т.к. пока проект только прорабатывается. но могу сказать, что это связано с задачей выбора оптимального маршрута с прогнозом изменения топологии местности, пропускной способности и стоимости проезда с учетом неполноты или возможных неточностей имеющихся данных, динамически изменяемых в реальном времени.

нужно 15 человек на сеньерские позиции, но пока сухо как в сахаре. зарплату и другие условия не знаю. знаю, что требуется опыт от пяти лет и желание жить в долине сисек. налоги высокие, жилье дорогое, зарплаты -- чуть выше, чем у нас. хотите? по мне так проект уж слишком математический. у меня мозги в этом направлении шарят слабо, если не сказать, что не шарят совсем.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[8]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 12:19
Оценка: +1
Здравствуйте, Erop, Вы писали:

Pzz>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


E>Слушайте, я заинтригован! О какой именно формуле речь?


Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения
Re[9]: # как манагеров достали те, кого достали манагеры
От: samius Япония http://sams-tricks.blogspot.com
Дата: 28.12.10 12:38
Оценка: :)
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Erop, Вы писали:


Pzz>>>Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.


E>>Слушайте, я заинтригован! О какой именно формуле речь?


Pzz>Ну речь, наверное, идет о том, как, имея заданную плоскость и заданную прямую, получить координаты точки их пересечения


В школе иногда дезинформируют. Такой формулы нет.
Re[4]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 12:39
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>

Нет, конечно. А что именно там нужно помнить наизусть?


EOH>Как именно в С++ обрабатывается множественное наследование, соответствующее diamond problem.


А там что помнить? Что значит "обрабатывается"?

Базы слева направо, за исключением виртуальных, которые вперёд всех. Ты это не хочешь помнить? Или что-то ещё?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.10 12:48
Оценка:
Здравствуйте, Mystic, Вы писали:

М>>а вот я про эпсилон слышал звон, да не знаю где он. гугл сейчас готовит очередную порцию найма. по каким направлениям не в курсе. но точно не по поиску. планирует добавить новые сервисы. какие -- пока не разглашается. но мат. моделирования там будет много это я точно говорю


M>И куда слать резюме?


Туда же, куда и всем. Гугль всех соискателей прокручивает через одну общую мясорубку, независимо от того, есть у вас там знакомства или нет.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 28.12.10 13:24
Оценка: +1

Вот это всё ты знал или нет? Если не знал, то прости, ты не знаешь, как юзать плавучку.


Скажем так — я знал, что внутри float имеет сложное бинарное представление, разделенное на мантиссу и экспаненту. Знал, что у него есть ограничения как по мантиссе, так и по экспоненте. Но понятия не имел, что реализация Visual C++ 6.0 double (или что у вас там) имеет corner case, при прибавлении единицы к которому мантисса не меняется. Как-то всегда хватало ограничений сверху и снизу. Наверное, мало банки автоматизировал, а все по коробочным продуктам?

то ты значит не имеешь привычки думать, во всяком случае перед тем как отвечать на форуме
но ны продолжил "не уметь и не желать творчески мыслить"...


Соглашусь, тест годный. По крайней мере, сразу позволяет выявить склонных к истерике личностей .
Re[5]: # как манагеров достали те, кого достали манагеры
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 28.12.10 13:28
Оценка:

Базы слева направо, за исключением виртуальных, которые вперёд всех. Ты это не хочешь помнить? Или что-то ещё?


Увы, в C++ оно несколько посложнее. ISO стандарт описывает это много и со вкусом . Но в ISO это смотреть намного дольше, чем в википедии, неправда ли?

P.S. Я вообще-то у мыщх'а интересовался, ну да ладно.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Erop Россия  
Дата: 28.12.10 14:57
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EOH>Увы, в C++ оно несколько посложнее. ISO стандарт описывает это много и со вкусом . Но в ISO это смотреть намного дольше, чем в википедии, неправда ли?


Да что "это"-то? Размещение баз в объекте? Оно не специфицировано вообще.
Порядок вызова конструкторов баз?
Так я его тебе написал. При этом не из вики, а из головы.
Сложности с порядком только в случае НЕСКОЛЬКИХ виртуальных баз. Ты об этом?

EOH>P.S. Я вообще-то у мыщх'а интересовался, ну да ладно.

Какая разница?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.