iOS 學習筆記 0002(位運算子的應用)

2022-05-04 10:12:07 字數 1161 閱讀 1366

位運算(bit operate),即操作二進位制位的運算

&    按位與(都為1則為1,否則為0)      

作用:迅速清零(eg:a&0);

判斷奇偶(eg:a&1  為1奇數,為0偶數);    

檢查狀態

|  按位或(有乙個為1就為1,否則為0)   

作用:      eg,a|0xff  a值為255;   因為0xff值為 11111111

//

oc中的應用:新增狀態

nsdate* date =[nsdate date];

nscalendar* calendar =[nscalendar calendarwithidentifier:nscalendaridentifiergregorian];

nsdatecomponents* datecomponents = [calendar components:(nscalendarunityear|nscalendarunitmonth|nscalendarunitday|nscalendarunithour|nscalendarunitminute|nscalendarunitse     cond) fromdate:date];

^   按位異或(不同為1,相同為0)              

作用:還原性

//交換兩個整數的位置

int a = 10;

int b = 20;

a = a^b;

b = a^b;

a = a^b;

nslog(@"a = %d b = %d",a,b);

~   按位取反(位預算符中唯一乙個單目運算子)每個位置都取反(對應記憶體中存的值,如32bit系統的1表示為00000000 00000000 00000000 00000001)

<< 左移運算(將2進製值向左移動若干位) 

作用:當數字要與2或2的倍數相乘時用,大大提高效率,相當於乘以2的移動位數次數方

>> 右移運算(將2進製值向右移動若干位) 

作用:與左移運算子相反

Java學習筆記 位運算子

1 位運算子只能對整型 byte short int long char 運算。2 按位或 運算子,可以用作開關,比如 粗體 斜體 下劃線 中劃線。把他們分別用1 2 4 8中的乙個值代表,如果我們既要粗體,又要斜體,就可以開啟對應的開關。粗體0001 斜體0010 下劃線0100 中劃線1000 ...

基本運算子 邏輯運算子 位運算子等 學習筆記

冪運算 2 3 double pow math.pow 2,3 冪運算 boolean a true boolean b false system.out.println a b a b 邏輯與運算 兩個變數都為真,結果才為true system.out.println a b a b 邏輯或運算 ...

學習筆記(2) 邏輯運算子和位運算子

public class demo1 結果如下 a b false a b true a false 短路運算 和 的短路運算,是指如果前面的判斷條件已經明確結果則不執行後面的判斷 例如 public class demo1 結果如下 b false a 10 c true a 9 當判斷到 a 9...