Bitwise vurma edə bilərsiniz?

Mündəricat:

Bitwise vurma edə bilərsiniz?
Bitwise vurma edə bilərsiniz?

Video: Bitwise vurma edə bilərsiniz?

Video: Bitwise vurma edə bilərsiniz?
Video: ŞALVARIMA S*ÇMIŞAM KÖMƏK EDƏ BİLƏRSİNİZ ? BAKIDA SOSİAL EKSPERİMENT 2024, Noyabr
Anonim

bit istiqamətində operatorlardan istifadə etməklə ədəd 2-yə vurula bilər. Bu, sola sürüşdürmə operatorundan istifadə etməklə və bitləri 1-ə dəyişdirməklə həyata keçirilir. Bu, əvvəlki rəqəmin ikiqat olması ilə nəticələnir. Bitwise operatorlarından istifadə edərək ədədin 2-yə vurulmasını nümayiş etdirən proqram aşağıdakı kimi verilmişdir.

Bitwise ilə necə çoxalırsınız?

N-in gücünə 2-nin istənilən dəyərinə vurmaq üçün (yəni 2^N) bitləri N dəfə sola sürüşdürün Bölmək üçün bitləri sağa sürüşdürün. Bitlər tam 1 və ya 0-dır - siz bitin bir hissəsinə keçə bilməzsiniz, beləliklə, əgər vurduğunuz ədəd N tam dəyərinə təsir etmirsə.

Bitwise vurma daha sürətlidir?

Bit-dəyişmə hələ də daha sürətlidir, lakin ikidən çox olmayan multi/div üçün bütün növbələri etdiyiniz və nəticələri əlavə etdiyiniz zaman yenidən daha yavaş olur.

Daha sürətli vurma və ya bölmə nədir?

Çarpma bölmədən sürətlidir. Universitetdə mənə öyrətdilər ki, bölmə vurmaqdan altı dəfə çox vaxt aparır. Həqiqi vaxtlar arxitekturadan asılıdır, lakin ümumilikdə vurma heç vaxt bölmə qədər yavaş və ya yavaş olmayacaq.

Bitshifting vurmadan daha sürətlidir?

Bitləri sola və sağa köçürmək, 2 gücündən istifadə edirsinizsə, yəqin ki, çoxalma və bölmə əməliyyatlarından daha sürətli olur əksər, hətta bütün CPU-larda. Bununla belə, bəzi oxucular və bəzi alqoritmlər üçün kodun aydınlığını azalda bilər.

Tövsiyə: