Число може да се умножи по 2 с помощта напобитови оператори. Това се прави чрез използване на оператора за изместване наляво и изместване на битовете наляво с 1. Това води до удвояване на предишното число. Програма, която демонстрира умножение на число по 2, използвайки побитови оператори, е дадена, както следва.
Как се умножава с побитово?
За да умножите по всяка стойност от 2 на степен N (т.е. 2^N) преместете битовете N пъти наляво За да разделите, изместете битовете надясно. Битовете са цели 1 или 0 - не можете да преместите с част от бит, по този начин, ако числото, по което умножавате, не е фактор на цялата стойност на N, т.е.
Побитовото умножение по-бързо ли е?
Преместването на битове все още е по-бързо, но за без мощност на две mul/div до момента, в който направите всичките си смени и добавите резултатите, отново става по-бавно.
Какво е по-бързото умножение или деление?
Умножението е по-бързо от деленето. В университета ме научиха, че делението отнема шест пъти повече от умножението. Действителните времена зависят от архитектурата, но като цяло умножението никога няма да бъде по-бавно или дори толкова бавно, колкото деленето.
Изместването на битовете по-бързо ли е от умножението?
Изместването на битовете наляво и надясно е очевидно по-бързо от операциите за умножение и деление на повечето, може би дори всички процесори, ако случайно използвате мощност 2. Въпреки това, това може да намали яснотата на кода за някои четци и някои алгоритми.