運算子應用詳解

2021-08-29 15:46:13 字數 1482 閱讀 9999

c語言中的&,||,&&,^用法可謂靈活多樣,掌握了這些運算子的用法,可以大大提高程式設計效率,尤其涉及到二進位制位的程式設計,其優點將會更加淋漓盡致地發揮出來。

直接上**:

1.輸入乙個十進位制數,返回它的二進位制序列中"1"的個數。

方法1:

//將value值和1進行相與,若結果為1,則計數器加1.再將value整體右移,迴圈32次,使每一位都和1相與。

#include

intcount_one_bits

(int value)

value >>=1;

}return count ;

}int

main()

方法2:

//此方法是將value和(value-1)進行按位與,直到value變成0。

#include

intcount_one_bits

(int value)

return count ;

}int

main()

2.返回乙個數二進位制的奇數和偶數序列。

#include

void

get_binary_bits

(int n)

printf

("\n");

printf

("奇數序列為: ");

for(i=

30; i>=

0; i-=2

)//把奇數字分別右移到最後和進行與操作

printf

("\n");

}int

main()

3.判斷二進位制序列有多少位不同。

//1.將兩個數字分別右移i位,與1相與,判斷是不是相等;

//2.也可以直接使用異或操作符並設計計數器來計算;

//3.還可以將兩個數異或之後,再將異或的結果ret進行 ret&(ret -1),計數器加1,設個while迴圈,直到ret為0,返回計數器的值

方法1.#include

intcal_diff_binary_bits

(int m,

int n)

return count ;

}int

main()

方法2. #include

intcal_diff_binary_bits

(int m,

int n)

return count ;

}int

main()

方法3. #include

intcal_diff_binary_bits

(int m,

int n)

return count ;

}int

main()

以上三個題目可能對初學者來說比較難理解,初學者可以根據程式在稿紙上一步一步跟蹤和演算,便可以吃透。

Python 海象運算子應用

leetcode上有道面試題 判斷字元是否唯一 其中有乙個答案是利用位運算子解決 class solution def isunique self,astr str bool t 0for c in astr if t p 1 ord c 97 return false t p return tru...

python 中位於運算子 應用

運算子在計算機中是二進位制運算子,常使用 即先進性位於運算子,在進行賦值,例如 a b 等價於 a a b。位於運算只二進位制 保同除異 a 3 a 011 b 2 b 010 a b a 010 print a a 2題目描述 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。計算...

描述符應用

class type def init self,key self.key key def get self,instance,owner print get方法 return instance.dict self.key def set self,instance,value print set方...