C語言中的與或操作

2021-08-07 19:27:56 字數 863 閱讀 9829

總計6個按鍵,判斷是否全部按完,通過與或操作完成

#include 

#include

#define key_sum (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5)

#define key_1 (1<<0)

#define key_2 (1<<1)

#define key_3 (1<<2)

#define key_4 (1<<3)

#define key_5 (1<<4)

#define key_6 (1<<5)

int main(int argc,char *argv)

#include 

#include

#define key_sum 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5

#define key_1 1<<0

#define key_2 1<<1

#define key_3 1<<2

#define key_4 1<<3

#define key_5 1<<4

#define key_6 1<<5

int main(int argc,char *argv)

巨集定義不加括號情況下, value 一直為0. 原因令我不解, 直到請教同事才發現問題:

C語言中各位運算的作用(與 或 異或等)

1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二進位制補碼 00000101 5的二進位制補碼 00000001 1的二進位制補碼...

C語言中的 與

連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串 token 聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所 謂的子串 token 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋,但不知道也無所謂。同時值得注意的是 符是把傳遞過來 的引數...

C語言中的移位操作

c語言中的移位操作,內容不多。不過有些地方你不注意,就疏忽了。先做兩個小題先。1 unsigned char x 3 x 1是多少?x 1是多少?2 char x 3 x 1是多少?x 1是多少?3 char x 3 x 1是多少?x 1是多少?3寫成二進位制數是00000011 3寫成二進位制數是...