Arvu saab korrutada 2-ga, kasutadesbitipõhiseid tehteid. Selleks kasutatakse vasakpoolse nihutamise operaatorit ja nihutatakse bitte vasakule 1 võrra. Tulemuseks on kahekordne eelmine arv. Programm, mis demonstreerib arvu korrutamist 2-ga, kasutades bitipõhiseid tehteid, on esitatud järgmiselt.
Kuidas Bitwise'iga korrutada?
Mis tahes väärtusega 2 korrutamiseks N astmeni (st 2^N) nihutage bitte N korda vasakule Jagamiseks nihutage bitte paremale. Bitid on terved 1 või 0 – te ei saa nihutada biti osa võrra, seega kui arv, millega korrutate, ei võta arvesse N täisväärtust, st.
Kas bitipõhine korrutamine on kiirem?
Bittide nihutamine on endiselt kiirem, kuid kahe võimsuseta mul/div puhul on selleks ajaks, kui teete kõik vahetused ja lisate tulemused, taas aeglasem.
Mis on kiirem korrutamine või jagamine?
Korrutamine on kiirem kui jagamine. Ülikoolis õpetati mulle, et jagamine võtab kuus korda rohkem kui korrutamine. Tegelikud ajastused sõltuvad arhitektuurist, kuid üldiselt pole korrutamine kunagi aeglasem ega isegi nii aeglane kui jagamine.
Kas bitivahetus on kiirem kui korrutamine?
Bittide nihutamine vasakule ja paremale on ilmselt kiirem kui korrutamis- ja jagamistoimingud enamiku, võib-olla isegi kõigi CPU-de puhul, kui kasutate võimsust 2. Siiski võib mõnede lugejate ja mõnede algoritmide jaoks vähendada koodi selgust.