&& 和 & 的區(qū)別 , | 和 || 的區(qū)別

&&

邏輯與運(yùn)算
eg:(a&&b )
a = 1 , b = 1  表達(dá)式 值則為1 (這里面的1(非0)表示true , 0 則為true)
a = 0, b = 1  表達(dá)式則為0
類比數(shù)學(xué)的話,就是高中數(shù)學(xué)里面的  ‘與’

&

按位與
eg:(a&b)
a = 9 , b = 8  轉(zhuǎn)換為二進(jìn)制
a =  b + 1 (1001) , b = 1000  (a & b) = 1000  => 8(十進(jìn)制) 所以值判斷為非0

<<

代表二進(jìn)制情況下左移 
eg:
1 << 0 , 0001 =>(左移0) 0001(十進(jìn)制1)
1 << 1 , 0001 =>(左移1)0010 (十進(jìn)制的2)
1 << 2 , 0001 => (左移2)0100(十進(jìn)制4)

|||

|

按位或
a | b 
a = 8 (1000), b = 9(1001) => 1001(9)

||

邏輯或
a || b 
類比高中數(shù)學(xué)里面講的 (或)

應(yīng)用:(針對(duì)iOS的)

枚舉時(shí):

typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
    UIRectEdgeNone   = 0, //(0000)
    UIRectEdgeTop    = 1 << 0,//(0001)
    UIRectEdgeLeft   = 1 << 1,//(0010)
    UIRectEdgeBottom = 1 << 2,//(0100)
    UIRectEdgeRight  = 1 << 3,//(1000)
    UIRectEdgeAll    = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight //(1111)
}
description:恰當(dāng)?shù)谋磉_(dá)了每一種情況的的唯一性

使用時(shí):
個(gè)人認(rèn)為使用的環(huán)境應(yīng)為,同一個(gè)對(duì)象,有處理多個(gè)處于平行的關(guān)系的業(yè)務(wù)邏輯的能力,并且他們幾個(gè)互相沒有順序的影響。如果有邏輯上的先后順序,也可以通過if的順序來解決。不過第二種情況個(gè)人不贊成使用。

UIRectEdge type =  UIRectEdgeAll
if (type & UIRectEdgeTop) {
//  UIRectEdgeTop 類型
}

UIRectEdge type =  UIRectEdgeTop
if (type & UIRectEdgeTop) {
//  UIRectEdgeTop 類型
}
if (type & UIRectEdgeBottom) {
//0001 & 0100 始終進(jìn)不來 
}

綜上所述:
NS_option 一般情況下 和 ‘&’ 按位與搭配使用

關(guān)于效率問題 的取舍

&&  和 & 
a&&b:我們一般情況下如果a為假 , 那么我們就不去判斷b了

a&b :a為假 我們還會(huì)去和b 進(jìn)行比較 , 效率就稍微降低了。
不過 和業(yè)務(wù)邏輯 ,還有有時(shí)候簡(jiǎn)化代碼的情況相比較這些效率也算不了多少??辞闆r使用就好了。

至于 || 和 | 的問題同上
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 新年過后,一幫兄弟整天聚在一起打牌,泡吧。 大家都單身多年,最初還結(jié)成聯(lián)盟,創(chuàng)造各種機(jī)會(huì)互相幫著勾搭各種妹子,也算...
    我想你也在想閱讀 695評(píng)論 1 4
  • 明樂家塾第二天,在林兒和妞妞身上發(fā)生的一件事。 這件當(dāng)時(shí)發(fā)生的事,姬老師拿到了課堂,我們一起看這些事背后的規(guī)律和真...
    i韓小魚閱讀 678評(píng)論 0 11
  • 別看有些人表面風(fēng)風(fēng)光光的,背地里也是一副惹人嫌的模樣。 今天去電視臺(tái)參加了節(jié)目的錄制,也是挺奇特的體驗(yàn)。首先是節(jié)目...
    蟒蛇與小莓閱讀 622評(píng)論 0 0
  • 是時(shí)候放慢自己的腳步! 作者:馮永紅 時(shí)光匆匆,放慢腳步,讓自己仰頭看看漂浮著閑云的天空。流水曦曦,放慢腳步,俯...
    永紅語錄閱讀 330評(píng)論 0 0

友情鏈接更多精彩內(nèi)容