C語言中移位 邏輯運算子的簡單應用

2022-09-23 20:00:12 字數 1209 閱讀 1592

&運算子

一、 計算二進位制中1 的個數比如: 15       0000 1111       4 個 1

要求其數字的儲存方式為int

int count_one_bits(unsigned int value)//計算1的位數函式

return count;} 

&>運算子的聯合應用

二、獲取乙個數二進位制序列中所有的偶數字和奇數字,分別輸出二進位制序列。

#include

#include

int main()

printf("從高位到低位奇數字分別為:");

for (i = 0; i < 16; i++) //從高位到低位輸出其二進位制奇數字

for (i = 0 ,j = 1; j < 32; i++, j=j+2) //獲取二進位制數列的偶數字

printf("\n從高位到低位偶數字分別為:");

for (i = 0; i < 16; i++) //從高位到低位輸出其二進位製偶數字

system("pause");

return 0;

} | 運算子

三、判斷名次是否連續

/*將名次對應乙個數中的二進位制位*/

int ret = 0, flag = 0;

ret |= (1 << (a - 1));

ret |= (1 << (b - 1));

ret |= (1 << (c - 1));

ret |= (1 << (d - 1));

ret |= (1 << (e - 1));

while (ret)

ret / = 2;

}if (0 == flag)

四、尋找兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同

int different_bits(int num_1, int num_2)

}return (count);

}五、將乙個無符號數的二進位制數逆置

unsigned int  reverse_bit(unsigned int num)

return (ret);} 

六、求兩個數的平均值,無溢位

int **erage(int a, int b)

七、找出一組資料中單獨出現的數字

int find_only(int arr, int size)

return (arr[0]);} 

C語言 邏輯運算子

邏輯運算子 含義 與ll 或!非邏輯表示式表示式的求值順序是從左往右。一旦發現有使整個表示式為假的因素,立即停止求值。c提供條件表示式作為表達if else語句的一種便捷方式,該表示式使用?條件運算子。分為兩部分,需要3個運算物件。三元運算子 條件表示式的通用形式為 expression1 expr...

C語言 邏輯運算子

邏輯與運算子 邏輯或運算子 邏輯非運算子 運算的結果只有2個,真 為1,假 為0 邏輯與運算子 1.使用格式 條件a 條件b 2.運算結果 只有當條件a與條件b,為真的時候,它的結果才為1,也就是真 其餘情況下結果都為0,也就是假,所以,條件a或條件b只要有乙個不成立,結果都為0,也就是假 邏輯與的...

C語言簡單說 十三 邏輯運算子

更完睡覺 這一節我們來說說邏輯或 其實很簡單的,既然你們理解了第乙個邏輯與,那麼邏輯或就沒什麼難度了。我們說過邏輯與就像我們的並列關係,例如我們吃了蘋果和李子。我們現在的邏輯或呢?邏輯或就是例如我跟你說我吃了蘋果或者是李子。這個是個或者的關係,並不是說我兩者都吃了。好了我們看 include inc...