C語言 位運算子

2022-09-14 06:42:09 字數 1079 閱讀 2572

1> 功能

* 只有對應的兩個二進位制位為1時,結果位才為1,否則為0

* 舉例:10用二進位制表示為1010,  7用二進位制表示為0111。對兩個數值進行&運算

*  1010

0010   

* 規律:二進位制中,與1相&保持原位,與0相&就為0

2> 應用:使用&運算子,判斷乙個整數變數的奇偶性

1

intmain()

2

利用&判斷變數奇偶性

1> 功能

* 只要對應的兩個二進位制位中有乙個為1,結果就為1,否則為0

2> 應用

* 10用二進位制表示為1010,  7用二進位制表示為0111。對兩個數值進行|運算

*  1010

1111  

1> 功能

* 當對應的二進位制位相異時,結果為1,否則為0

* 舉例:10用二進位制表示為1010,  7用二進位制表示為111。對兩個數值進行^運算

*  1010

1101   

2> 應用: 使用位異或運算子,實現兩個變數值的互換

1

intmain()

2

交換數值

1> 功能

* 按位取反,就是對數值的每個二進位制位進行取反操作,0取反變1,1取反變0

2> 應用

* 舉例:10用二進位制表示為1010,對1010進行~操作

*  1010

0101 

5.左移<<  、右移》

1> 功能

* a<>n就是將a的各個二進位制位向右移動n位,保持符號位不變,右移n位,其實就是除以2的n次方

2> 應用

*舉例:10用二進位制表示為1010,對1010進行左移1位操作,結果是10100也就是20;對1010進行右移1位操作,結果是101也就是5.

*注意:以後對變數進行乘法或除法時,運用左移或右移可以提高效能

二、自我總結

按位運算子是直接對二進位制位進行操作,通過按位運算子我們可以很容易的做到很多事情,如判斷變數數值的性,不引入第三變數的前提下交換兩個變數的值,以及對變數進行乘除操作等,並且可以提高效能,方便易用。

C語言位運算子

一.c語言位運算子簡介 c語言的位運算子有六種,分別是 右移運算子 左移運算子 按位與運算子 按位或運算子 按位異或運算子 按位取反運算子 這些運算子都是對於基本資料型別的二進位制位進行操作的,這裡我們只討論整型資料型別的位運算 二.各個運算子的具體使用 右移運算子 將整數的二進位制形式整體向右移動...

C語言 位運算子

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 1 按位與 運算子 按位與是指 參加運算的兩個資料,按二進位制位進行...

C語言 位運算子

位操作符,主要包括 與,或 符 取反符 移位符 異或符 開始前先看一段實現二進位制輸出的 方便觀察位操作 參考鏈結知乎作者 碼農愛學習 void printf bin int num printf 每8位加個空格,方便檢視 printf r n 與0清0,與1不變 功能1 提取位資料 功能2 清除 ...