Logo kk.boatexistence.com

Биттік көбейтуді жасай аласыз ба?

Мазмұны:

Биттік көбейтуді жасай аласыз ба?
Биттік көбейтуді жасай аласыз ба?

Бейне: Биттік көбейтуді жасай аласыз ба?

Бейне: Биттік көбейтуді жасай аласыз ба?
Бейне: Я есть. Ты есть. Он есть_Рассказ_Слушать 2024, Мамыр
Anonim

биттік операторларды пайдаланып санды 2-ге көбейтуге болады. Бұл солға жылжыту операторын пайдалану және биттерді 1-ге жылжыту арқылы орындалады. Бұл алдыңғы санның екі еселенуіне әкеледі. Санды 2-ге көбейтуді биттік операторлар арқылы көрсететін бағдарлама келесідей берілген.

Биттік арқылы қалай көбейтуге болады?

Кез келген 2 мәніне N дәрежесіне көбейту үшін (яғни 2^N) биттерді N рет солға жылжытыңыз Бөлу үшін биттерді оңға жылжытыңыз. Биттер бүтін 1 немесе 0 - биттің бір бөлігіне ауыса алмайсыз, егер көбейтіп жатқан сан N бүтін мәніне әсер етпесе, яғни.

Биттік көбейту жылдамырақ па?

Биттерді ауыстыру бұрынғысынша жылдамырақ, бірақ екіден қуатты емес мульти/див үшін барлық ауысымдарды орындап, нәтижелерді қосқанда ол қайтадан баяуырақ болады.

Тезірек көбейту немесе бөлу дегеніміз не?

Көбейту бөлуге қарағанда жылдамырақ. Университетте маған бөлу көбейтуден алты есе қажет деп үйретті. Нақты уақыт өлшемдері архитектураға байланысты, бірақ жалпы көбейту ешқашан бөлу сияқты баяу немесе тіпті баяу болмайды.

Битті ауыстыру көбейтуден жылдамырақ па?

Биттерді солға және оңға жылжыту, 2-дің қуатын пайдаланып жатсаңыз, процессорлардың көпшілігінде, мүмкін, тіпті барлық процессорлардағы көбейту және бөлу амалдарына қарағанда жылдамырақ көрінеді. Дегенмен, ол кейбір оқырмандар мен кейбір алгоритмдер үшін кодтың анықтығын төмендетуі мүмкін.

Ұсынылған: