奇思妙想位運算

2021-07-10 12:47:23 字數 751 閱讀 1918

本篇旨在記錄」奇思妙想」的位運算。

int c = 10;

intcount = (c == 0 ? 0 : 1) ;

while( c = c&(c-1) )

解析

c-1 會導致c最末尾的1 因為借位變為0,而此前最末尾的1後面必然全是0(或者1為個位),所以當c&(c-1)時,就相當於消去c中最末尾的乙個1。 如6的二進位制是0110,6-1的二進位制是0101。

int c = 10;

intcount = 0 ;

while( c+1 )

解析

x|(x+1)的作用是對乙個數中二進位制0的個數進行統計.

用位運算求a%b,要求b是2的n次冪,即b必須是1,2,4,8…等等型別的數才可以。

c & (8- 1); //等價於c % 8, 另外8 =1<<3;
奇數二進位制最後一位為1 。

(i & 1) ==0 ; //成立表示是偶數
交換a和b的值,而不借助第三方變數。

a ^= b;  

b ^= a;

a ^= b;

a = a * (-1);

~a + 1

asp 奇思妙想 困惑

這幾天為學校做了幾個 發現乙個問題,有一些資料庫 大部分是access的,還有一些msql的 在設計時出現了問題,造成了資料庫裡面的很多內容是冗餘的,所以需要對資料庫進行清理。所以就開始寫了乙個asp的檔案cleandata.asp 見後文 關鍵問題在於資料庫的問題,我本來在我的機器上有測試的資料,...

python 爬蟲奇思妙想

總結 工程化思想,requests的使用 反爬 1.robots告訴你哪些可以爬取 2.判斷header頭來限制爬蟲 你自己改就完事了 爬取網頁 總結 工程化,保證程式怎麼exe都不會erro import requests url try kv r requests.get url,headers...

奇思妙想多個控制項居中

前言 今天寫布局的時候 想要兩個textview水平居中,就是這個效果 當然,這個實現起來太簡單了。常規想法再巢狀乙個viewgroup然後給viewgroup設定水平居中。但是我們可不可以不巢狀,這樣對軟體執行 流暢度肯定會好些。思路 剛好昨天看了下最新的constraintlayout布局,裡面...