Re[5]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 12:03
Оценка:
Здравствуйте, Sap78, Вы писали:

S>2) IMO выбор алгоритма должен осуществляться в estimate_supremum(arg_list). Уже при конвертации string -> float должно быть понятно, можно ли представить arg_list в float с достаточной точностью или нет.


А при чем там конвертация string -> float? Оценка может быть сложным математическим алгоритмом. Получили некоторое число, например, максимальную размерность массива. А далее выбираем алгоритм, который лучше всего будет работать для указанной верхней грани. Например, alg<float>, alg<long float>, alg<bycicle_float>.

Другой пример, в интерпретируемом языке при индексации массива при помощи float вывести warning, если can_not_be_used.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 12:07
Оценка: +1
Здравствуйте, The Lex, Вы писали:

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


Не совсем. Умение грамотно работать с плавучкой — особый род программерского искусства и я, например, им не владею. Но понимание, какие там могут таиться опасности, полезно для всех, потому что хоть иногда плавучку используют все (ну и чтобы не возникало искушения использовать плавучку там, где она не применима).

TL>ЗЫ: возвращаемое значение насколько я помню по-умолчанию void — в сях традиционно не указывалось, это "плюсы" всех испортили более строгим синтаксисом. В этом плане — собеседования — более интересным вопрос будет понимания разницы си и си++ и что где будет компилироваться, а что — нет. Это — более практическое знание для _программиста_. Где-то так...


В сях функция возвращает int, если не указано иначе. C++, по-моему, не разрешает не указывать.
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 12:36
Оценка: 2 (1) +3
Здравствуйте, The Lex, Вы писали:

TL>Невероятно задалбывают такие люди почему-то. Когда ты ему говоришь, что вместо изобретения велосипеда "за пределами своего гаечного ключа" лучше бы он занялся как раз именно "гаечным ключом" — ответ... не помню. Что-то вроде "но ведь это так классно — заглядывать за пределы своего гаечного ключа!" (к)


А меня ровно в такой же степени задалбывают те, которые дальше своего гаечного ключа не видят, потому что со стандартными задачами они худо-бедно справляются, а вот как чуть что слегка нестандартное (или просто стандартное решение ломается неочевидным образом), и сразу приходится думать за них.
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:20
Оценка:
Здравствуйте, мыщъх, Вы писали:

Pzz>>>>Для bool'ов тоже должно работать, но смысл не улавливается.

М>>>на си есть bool?

Как мне тут справедливо объяснили пару человек, true + 1 == 2, а не true. Так что про bool я был не прав.

В оправдание свое скажу, что я всегда считал искусственное приведение в C++/C99 bool'а к 0/1 вредной ересью
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:21
Оценка: +1 -1
Здравствуйте, Олег К., Вы писали:

ОК>>>Советую учить Си по Кернигану и Ритчи а непонятно по кому.

М>>но до сих пор работает: foo(a,b){return a+b;}
ОК>Кстати, как это будет работать если при вызове передашь double-ы, например? Или структуры?

Если аргументы не описаны, подразумевается int, а не полиморфизм
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:25
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ответ неверный для всех современных ЭВМ. ИБО IEEE-754 — стандарт представления чисел с плавающей точкой. Реализован на ВСЕХ современных ЭВМ.


Ну уж если меряться пиписьками, мне найдется, что ответить:
1. Я сознательно сказал x86, а не ieee-754, потому что первое слово понятно всем, а второе мало кому (к тому же, мне лень уточнять номер стандарта)
2. Софтверная реализация плавучки может использовать другой формат, более удобный именно для софтверной реализации. И такое реально встречается на практике
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:26
Оценка: +1 :))
Здравствуйте, StandAlone, Вы писали:

C>>Всё-таки представление чисел — это то, что программисты обязаны знать.


SA>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?


Они обязаны иметь представление о том и другом. Что до формулы пересечения плоскости с прямой, ее должен быть в состоянии вывести любой выпускник средней школы.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:30
Оценка:
Здравствуйте, Erop, Вы писали:

C>>3) Вопрос помогает найти тех, кто способен решать проблемы, которые ВНЕЗАПНО возникают на ровном месте.


E>Мне тоже понравился. Только, IMHO, не надо прессовать 30-ю секундами. Можно при тестировании отмечать, что типа тупил боьлше 30 секунд, но при постановке задачи не надо чела напрягать. А то много сил будет тратиться на поиск какой-то дополнительной подлянки. Ну типа, что для прохождения теста надо, на самом деле на на заданный вопрсо ответить, а какой-то встречный задасть, может быть и т. д...


Мне кажется, во вменяемых компаниях, типа гугля, никто с секундомером сидеть не будет.

Ну а так, вообще, да, обстановка на собеседовании заметно отличается от обстановки в реальной жизни. Мы в свое время давали задачки, показывали человеку, где туалет, говорили, как нас найти в случае, если возникнут вопросы, и оставляли человека в покое на час-полтора. Никто даже не следил, не звонит ли человек куда по сотовому, чтобы узнать правильный ответ
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:32
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Всё-таки представление чисел — это то, что программисты обязаны знать.

SA>>А RS-232 и формулу пересечения плоскости с прямой программисты обязаны знать?
C>Второе — в принципе да, так как это школьная программа. Первое — необязательно.

Распайку проводов, знание используемых уровней сигналов и т.п. — необязательно. Общее представление о наличии последовательных каналов и о присущих им фундаментальных ограничениях знать ИМХО все же не вредно. Надо ли знать разницу между синхронным и асинхронным режимом передачи — открытый вопрос
Re[7]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:41
Оценка:
Здравствуйте, The Lex, Вы писали:

Pzz>>Ответ не верный. По крайней мере, для x86.


TL>Да, кстати: встречал данный вопрос на собеседованиях. Вот скажите честно: кому он может понадобиться в качестве "активного знания наизусть" — кроме самого представления что там есть две части числа и знак.


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

Pzz>>Потому что ответ все знают наизусть.


TL>Не все. Я все время забываю, когда в очередной раз на бОмажке пишу функцию разворота строки в обратную сторону.


Ну, почти все.

Pzz>>Потому что в гугле нет пока циркового отделения.


TL>А я на фото у них шары всякие видел и клоунская раскраска везде...


Я думаю, они это аутсорсят
Re[5]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:42
Оценка: :)
Здравствуйте, The Lex, Вы писали:

TL>Можно встречный вопрос: какая практическая ценность от такой проверки — в смысле от знания, что "не вышло ли 'a' за диапазон, в котором начинаются потери слева от запятой"?


Я думаю, есть очень большой смысл от понимания того факта, что при некоторых условиях оно может выйти за этот диапазон.
Re[4]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 13:43
Оценка:
M>Угу , ошибся. Надо было DBL_EPSILON писать.

Ээ.. есть сомнение..
Это было бы так, если бы промежуточный результат (a+1) был сохранен явно в переменную типа double.
В данном случае просто выражение и компилятор вычисляет его как он хочет. В частности если используется x86 сопроцессор то промежуточные вычисления идут с 80-битными числами. А double 64-битный.

Далее, абсолютно непонятно откуда вообще решили что тут будет promotion to double. Если бы вместо 1 стояло 1. то действительно был бы promotion to double.
А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.
Re[10]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 13:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>При a=2^54

C>>>Можешь попробовать.
jed>>Попробовал на IE7 и FF 3.6, и правда есть такое. Забавно. Но начинается с 2^53.
C>2^54 я с запасом назвал.
У double 52 бита на мантиссу. Старший бит мантиссы не хранится, но подразумевается. Так что 52+1
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: # как манагеров достали те, кого достали манагеры
От: CreatorCray  
Дата: 27.12.10 13:44
Оценка: :)
Здравствуйте, shrecher, Вы писали:

S>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


Приз за оригинальность!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: # как манагеров достали те, кого достали манагеры
От: Pzz Россия https://github.com/alexpevzner
Дата: 27.12.10 13:48
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.


CC>Приз за оригинальность!


Угу. Особенно для яваскрипта. У которого, AFAIK, операторы не перегружаются.
Re[2]: # как манагеров достали те, кого достали манагеры
От: dilmah США  
Дата: 27.12.10 13:50
Оценка:
S>Я думаю, TYPEA имеет перегруженный "operator +(int)", который ничего не делает. В результате, a + 1 не меняеет значение. В принципе, я больше не вижу решений, которые не зависили бы от плаформы или компайлера.

Еще operator== можно перегрузить for fun and for profit
Re[6]: # как манагеров достали те, кого достали манагеры
От: antonio_banderas Россия  
Дата: 27.12.10 14:09
Оценка: +1
Здравствуйте, Mystic, Вы писали:

M>... С bool вопрос остался открытым (ибо любую операцию можно выразить проще).


А что тут открытого?
(a+1) будет преобразовано к типу int, (a+1)==a при сравнении а которое справа будет преобразовано к типу int, true всегда равно единице, т.е. таких bool a, для которых это выражение может быть истинным, нет. Т.е. bool не подходит.
Re[3]: # как манагеров достали те, кого достали манагеры
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.12.10 14:10
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>про финансы никто не говорил. мое мнение, что TYPEA это все-таки плавучка, но для плавучки в общем случае нельзя использовать '=='. а смысл данного кода... ну это похоже на проверку успешности инкремента на единицу. как только единица теряется мы думаем что делать по контексту.


В общем случае нельзя. Но в конкретном случае можно, если знаешь, что делаешь.
Re[5]: # как манагеров достали те, кого достали манагеры
От: minorlogic Украина  
Дата: 27.12.10 14:17
Оценка:
Здравствуйте, dilmah, Вы писали:


D>Ээ.. есть сомнение..

D>Это было бы так, если бы промежуточный результат (a+1) был сохранен явно в переменную типа double.
D>В данном случае просто выражение и компилятор вычисляет его как он хочет. В частности если используется x86 сопроцессор то промежуточные вычисления идут с 80-битными числами. А double 64-битный.

По крайней мере MSVC это выражение показывает как double.

D>Далее, абсолютно непонятно откуда вообще решили что тут будет promotion to double. Если бы вместо 1 стояло 1. то действительно был бы promotion to double.

D>А это выражение компилятор имеет право вычислять чисто во float. Я так полагаю.

Я тоже думал что должно в float , но селяви. Разбираться в тонкости нет желания.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: # как манагеров достали те, кого достали манагеры
От: Vzhyk  
Дата: 27.12.10 14:20
Оценка:
27.12.2010 12:19, Pzz пишет:

> Мее кажется, такого рода тесты очень хорошо отличают людей типа "я 20

> лет уже этим гаечным ключом гайки кручу, и ничего подобного мне никогда
> знать было не надо" от людей, которых любопытство заставляет заглядывать
> за пределы своего гаечного ключа.
А там всего-лишь обычный таракан.
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.