C語言位操作中指定的某一位數置0 置1 取反

2021-08-10 04:33:45 字數 983 閱讀 6558

一、指定的某一位數置1

巨集 #define setbit(x,y)  x|=(1<

二、指定的某一位數置0

巨集  #define clrbit(x,y)  x&=~(1<

三、指定的某一位數取反

巨集  #define reversebit(x,y)  x^=(1<

三、獲取的某一位的值

巨集 #define getbit(x,y)   ((x) >> (y)&1)

四、c++測試**:

#include #include "stdio.h"  

#include using namespace std;

#define setbit(x,y) x|=(1<> (y)&1)

int main()

{

unsigned int m=0x0f0ff0f0;

printf("original m=0x%x\n",m);

reversebit(m,7);

printf("reversebit 7 bit,then m=0x%x\n",m);

setbit(m,7);

printf("setbit 7 bit,then m=0x%x\n",m);

clrbit(m,7);

printf("clrbit 7 bit,then m=0x%x\n",m);

for(int i=0;i

五、測試執行結果:

彙編一位數加法

源於朱耀庭老師的 組合語言程式設計 清華大學出版社 大體思路 把結果看成兩位十進位制,add之後把結果除以10,商儲存到al,餘數儲存到ah,有進製結果顯示正常,沒有進製則高位顯示零,低位顯示結果 在32位win7下masm5編譯通過 mov dl,2號功能呼叫顯示問號 mov ah,02h int...

1062 最左邊一位數

最左邊一位數 time limit 1000ms memory limit 65536k total submit 112 accepted 24 description 對於給定的正整數n,輸出n n的最左邊一位數。input 輸入包含多組測試資料。輸入的第一行是乙個整數t,代表測試組數。隨後輸入...

一位陣列的應用 查詢

1.順序查詢 當被查詢的資料無序排列時,只能採用順序查詢法進行查詢。順序查詢演算法的思想是 對待查資料x一一與被查資料 陣列元素 進行比較,直到找到與待查資料相等的資料並返回陣列元素的下標 如果找不到,則返回 1.例1 順序查詢 include main int num,i 0 printf ple...