C語言高階實戰之位運算實戰

2021-09-28 10:32:07 字數 1463 閱讀 3574

以下**都經過了驗證,

#include

intmain

(void

)位運算實戰1

給定整型數a,設定a的bit3,保證其他位為0

#include

intmain

(void

)位運算實戰2

給定整型數a,設定a的bit3~bit7為1,保持其他位不變

#include

intmain

(void

)位運算實戰3

給定整型數a,清除a的bit15,保持其他位不變

#include

intmain

(void

)//位運算實戰4

//給定整型數a,清除a的bit15,保持其他位不變

#include

intmain

(void

)//位運算實戰5

//給定整型數a,清除a的bit15~bit23,保持其他位不變

#include

intmain

(void

)//位運算實戰6

//給定整型數a,取出a的bit3~bit8

#include

intmain

(void

)//位運算實戰7

//用c語言給暫存器的bit7~bit17賦值937,並且其餘位不受影響

#include

intmain

(void

)//位運算實戰8

//用c語言給暫存器a的bit7~bit17的值加上937,並且其餘位不受影響

#include

intmain

(void

)//位運算實戰8

//用c語言給暫存器的bit7~bit17賦值937,同時給bit21-bit25賦值17,並且其餘位不受影響

#include

intmain

(void

)//位運算實戰9

//用巨集來進行置位操作,注意,這裡的bit0算做第一位

#define set_bit_n(x,n) ((x)|(1<<((n)-1)))

#include

intmain

(void

)//位運算實戰10

//用巨集來進行復位操作,注意,這裡的bit0算做第一位

#define clr_bit_n(x,n) ((x)&~(1<<((n)-1)))

#include

intmain

(void

)//位運算實戰11

//用巨集來進行擷取變數的部分連續位操作,注意,這裡的bit0算做第一位

#define getbits(x,n,m) ((x &~(~(0u))<<(m-n+1))<<(n-1)>>(n-1))

#include

intmain

(void

)

C語言高階 16 位運算分析

c語言中的位運算子 按位與 按位或 按位異或 取反 左移 右移位運算子直接對bit位進行操作,其效率極高。左移和右移注意點 左運算元必須為整數型別,char和short會被隱式型別轉換為int後進行移位操作。右運算元的範圍必須為 0,31 左移運算子 將運算數的二進位制位左移,規則 高位丟棄,低位補...

C語言專案實戰之鍊錶

有關鍊錶的問題大家可以看參考下面這個鏈結 一條記錄有學生姓名 學號 成績三個資料項,建立兩個順序表存放學生資訊,通過鍵盤輸入學生資訊 成績不遞減 將兩個表合併成乙個有序表,並列印出來。編寫建立鍊錶函式createlist,分別採用頭插 尾插法建立鍊錶 插入函式listinsert,顯示函式showl...

C語言實戰(一)

一 乙個價值三天的bug int fscanf file stream,char const format,int scanf char const format,int sscanf char const string,char const format,功能從輸入源讀取字元。函式的返回值就是轉換...