Bit operations (C++)

前端 未结 2 1279
难免孤独
难免孤独 2021-02-03 12:02

Recently I had a question on the interview - I was asked to compare bitwise operations in performance terms.

Like, give a brief description of the

2条回答
  •  天命终不由人
    2021-02-03 13:01

    This is a very strange question to be asked. First of all because the language should be irrelevant - as long as you're writing in a compiled language, any bitwise operation should be compiled down to a single assembly instruction even in the most simplistic assembly languages.

    Secondly, once that single assembly instruction hits the processor, it should be evaluated in a single cycle - bitwise stuff is just that simple. It's possible that a space-starved processor would implement the shift operation in a couple cycles (they require a lot more circuitry than the others to do quickly), but that seems pretty unlikely on any modern machine, so even shifts should be single-cycle instructions.

    Here's what Wikipedia has to say on the matter:

    A bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits. On most older microprocessors, bitwise operations are slightly faster than addition and subtraction operations and usually significantly faster than multiplication and division operations. On modern architectures, this is not the case bitwise operations are generally the same speed as addition (though still faster than multiplication).

    Hope this helps!

提交回复
热议问题