Nombor boleh didarab dengan 2 menggunakan operator bitwise. Ini dilakukan dengan menggunakan operator anjakan kiri dan mengalihkan bit yang ditinggalkan sebanyak 1. Ini menghasilkan dua kali ganda nombor sebelumnya. Program yang menunjukkan pendaraban nombor dengan 2 menggunakan operator bitwise diberikan seperti berikut.
Bagaimanakah anda mendarab dengan Bitwise?
Untuk mendarab dengan sebarang nilai 2 kepada kuasa N (iaitu 2^N) alihkan bit N kali ke kiri Untuk membahagikan anjakan bit ke kanan. Bit adalah keseluruhan 1 atau 0 - anda tidak boleh beralih dengan sebahagian daripada sedikit jadi jika nombor yang anda darabkan adalah tidak memfaktorkan nilai keseluruhan N iaitu.
Adakah pendaraban Bitwise lebih cepat?
Peralihan bit masih lebih pantas, tetapi untuk bukan kuasa dua mul/div pada masa anda melakukan semua syif anda dan menambah hasil, ia menjadi lebih perlahan lagi.
Apakah pendaraban atau pembahagian yang lebih cepat?
Pendaraban adalah lebih cepat daripada bahagi. Di universiti saya diajar bahawa pembahagian mengambil masa enam kali ganda daripada pendaraban. Pemasaan sebenar bergantung kepada seni bina tetapi secara amnya pendaraban tidak akan menjadi lebih perlahan atau selambat pembahagian.
Adakah Peralihan Bit lebih cepat daripada pendaraban?
Menukar bit ke kiri dan kanan nampaknya lebih pantas daripada operasi pendaraban dan bahagi pada kebanyakan, mungkin juga semua, CPU jika anda menggunakan kuasa 2. Walau bagaimanapun, ia boleh mengurangkan kejelasan kod untuk sesetengah pembaca dan beberapa algoritma.