日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C语言】按位与、按位或、按位异或

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C语言】按位与、按位或、按位异或 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、按位與(&)

二、按位或(|)

三、按位異或(^)


一、按位與(&)

規則:有0則為0,同時為1才為1

int main() {int a = 3;int b = -5;int c = a & b;printf("%d\n", c);//3//%d 意味著打印一個有符號的整數,所以實際上打印的是原碼return 0; }

計算過程:

//00000000000000000000000000000011 ? —— ?3的補碼
//11111111111111111111111111111011? ? ? ? ? ?—— -5的補碼
//00000000000000000000000000000011 ? ——按位與:同時為1則為1

所以結果為3

二、按位或(|)

規則:有1則為1,同時為0才為0

int main() {int a = 3;int b = -5;int c = a | b;printf("%d\n", c);//-5return 0; }

計算過程:

//00000000000000000000000000000011 ? —— ?3的補碼
//11111111111111111111111111111011 ? —— -5的補碼
//11111111111111111111111111111011 ? ——按位或后的補碼
//11111111111111111111111111111010 ? ——反碼
//10000000000000000000000000000101 ? ——原碼 (結果為-5)

三、按位異或(^)

規則:相同為0,相異為1

int main() {int a = 3;int b = -5;int c = a ^ b;printf("%d\n", c);//-8return 0; }

計算過程:

//00000000000000000000000000000011 ? —— ?3的補碼
//11111111111111111111111111111011 ? —— -5的補碼
//11111111111111111111111111111000 ? —— ?按位異或后的補碼
//11111111111111111111111111110111 ? ——反碼
//10000000000000000000000000001000 ? ——原碼(-8)

總結

以上是生活随笔為你收集整理的【C语言】按位与、按位或、按位异或的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。