Можете ли да правите побитово умножение?

Съдържание:

Можете ли да правите побитово умножение?
Можете ли да правите побитово умножение?

Видео: Можете ли да правите побитово умножение?

Видео: Можете ли да правите побитово умножение?
Видео: СКАЗОЧНАЯ МЕЛОДРАМА «Не хочу тебя терять». Победит ли настоящая любовь коварство и интриги? 2024, Ноември
Anonim

Число може да се умножи по 2 с помощта напобитови оператори. Това се прави чрез използване на оператора за изместване наляво и изместване на битовете наляво с 1. Това води до удвояване на предишното число. Програма, която демонстрира умножение на число по 2, използвайки побитови оператори, е дадена, както следва.

Как се умножава с побитово?

За да умножите по всяка стойност от 2 на степен N (т.е. 2^N) преместете битовете N пъти наляво За да разделите, изместете битовете надясно. Битовете са цели 1 или 0 - не можете да преместите с част от бит, по този начин, ако числото, по което умножавате, не е фактор на цялата стойност на N, т.е.

Побитовото умножение по-бързо ли е?

Преместването на битове все още е по-бързо, но за без мощност на две mul/div до момента, в който направите всичките си смени и добавите резултатите, отново става по-бавно.

Какво е по-бързото умножение или деление?

Умножението е по-бързо от деленето. В университета ме научиха, че делението отнема шест пъти повече от умножението. Действителните времена зависят от архитектурата, но като цяло умножението никога няма да бъде по-бавно или дори толкова бавно, колкото деленето.

Изместването на битовете по-бързо ли е от умножението?

Изместването на битовете наляво и надясно е очевидно по-бързо от операциите за умножение и деление на повечето, може би дори всички процесори, ако случайно използвате мощност 2. Въпреки това, това може да намали яснотата на кода за някои четци и някои алгоритми.

Препоръчано: