Битовые операции (C ++)

Недавно у меня был вопрос на собеседовании - Меня попросили сравнить поразрядные операции с точки зрения производительности.

Например, дать краткое описание производительности различных битовых операций.

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

Итак - что бы вы ответили?

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

Спасибо.


Хорошо, полный контекст проблемы.

Интервью состояло из нескольких разделов, и некоторые из них действительно были частями пирога, некоторые были кошмаром. Раздел, связанный с битами, был довольно сложным и включал такие вопросы, как:

  • Спецификации чисел с плавающей запятой, float , double

  • Fast float -> int преобразования (и даже быстрее, если вы знаете диапазон)

Это было не очень сложно, но в качестве последнего вопроса в этом разделе, посвященном битам, меня попросили перечислить известные мне битовые операции и сравнить их производительность.

Я ответил на что-то не совсем описательное, например, «это архитектура, компилятор, ... конкретно, это на самом деле не имеет значения, побитовое уже довольно низкоуровневое ", но я думаю, что этот ответ отстой.

9
задан Yippie-Ki-Yay 28 February 2011 в 23:26
поделиться