前言那年剛找工作那會,就碰到過這么一個簡單的題目 &和&&的區(qū)別相同點&和&&都可作邏輯與的運算符,,表示邏輯與(and),,當(dāng)運算符兩邊的表達式的結(jié)果都為true時,其結(jié)果才為true,,否則,,只要有一方為false,則結(jié)果為false,。(ps:當(dāng)要用到邏輯與的時候&是毫無意義,,&本身就不是干這個的) 不同點if(loginUser!=null&&string.IsnullOrEmpty(loginUser.UserName))
總結(jié)
位運算的使用直接進入主題位運算,這篇文章本身沒有任何難度,,工作中甚至用不到位運算,,埋個伏筆: 在掌握位運算之前,應(yīng)該明確位運算的兩個概念,。
01 位邏輯與運算:&& 與運算是將兩個運算對象按位于進行與運算,。規(guī)則是: 1&1=1 如圖:15的二進制是(ps:16位int,,32位int多打16個0浪費流量) 0000 0000 0000 1111 20的二進制是 0000 0000 0001 0100 15&20的結(jié)果是4 0000 0000 0000 1111 02 位邏輯或運算:||位邏輯或運算是將兩個運算對象按位進行或運算,運算的規(guī)則是 1|1=1 如15|20的結(jié)果計算結(jié)果就是31 0000 0000 0000 1111 03 位邏輯異或運算: ^^位邏輯異或運算 是將兩個運算對象按位進行異或運算,,規(guī)則是: 1異或1等于0 即:相同得0,,相異得1。15^20= 27(0001 1011) 0000 1111(15) 04.位邏輯左移運算<<<<位邏輯左移運算是將按位向左邊移動若干位,左移后空出的部分為0,。 比如15的二進制0000 1111 左移8位就是1111 0000 0000 0000 0000 0000 1111 左移3位(15<<3)就是0111 1000結(jié)果是120 a<<1 =2 結(jié)論a左移n位就是相當(dāng)于a乘2的n次方 05 位邏輯右移運算 >>位邏輯右移運算是將按位向右邊移動若干位,,右移后空出的部分為0 比如 0000 1111(15)左移3位(15<<3)就是0000 0001(1) 0000 1111(15) 右移相當(dāng)于整除,右移1位相當(dāng)于除以2的1次方,,右移2相當(dāng)于除以2的2次方,。(ps:這個除法是計算機的除法,你懂得) 06 位運算還能干嘛位運算的騷操作其實挺多的,,篇幅不夠,,所以留著下一篇寫。例如:
|
|
來自: dotNet全棧開發(fā) > 《編程提升》