程式設計師面試題彙總之位操作

2021-10-03 10:03:46 字數 298 閱讀 5739

一般而言,兩者的平均值位(x+y)/2。採用這種方法,當兩個數比較大時,可能會存在資料溢位的情況,採用位運算可以避免這個問題。

(x&y)+((x^y)>>1)方式表達的就是求解x與y的平均數,而且位運算相比除法運算,效率更高。

x&y表示的是去取出x和y二進位制中都為「1」的所有位,x^y表示的是x與y中有乙個位「1」的所有位,右移想當於執行除以2運算。

一般使用sizeof計算位元組長度來判斷作業系統的位數,在32 位機器上,sizeof(int)=4,而在16位機器上,sizeof(int)=2;

有關於位運算的知識:

程式設計師面試題彙總之預處理

預處理也稱為預編譯,它為編譯做預備工作,主要進行 文字的替換工作,用於處理 開頭的指令,其中預處理器產生編譯器的輸出。特點如下 採用取反操作 兩者都是替乙個物件取乙個別名,以此來增加程式的可讀性,不同之處 內聯函式和普通函式最大的區別在於其內部的實現方面上,普通函式在被呼叫時,系統首先要跳躍到該函式...

程式設計師面試題彙總之C C 關鍵字(二)

c語言得設計原則是把函式作為程式得構成模組。在c99標準中,允許main 函式沒有引數,或者有兩個引數 有些實現允許更多得引數,但這只是對標準的擴充套件 命令列引數有時用來啟動乙個程式的執行,如int main int argc,char ar 其中第乙個引數argc表示命令行引數的數目,它是int...

程式設計師面試彙總之變數

全域性變數 靜態區域性變數與靜態全域性變數都在靜態儲存區分配空間,而區域性變數在棧上分配空間。總的來說,相同點是都保留在靜態儲存區,生命期與程式生命期相同,而不同點在與全域性變數具有全域性作用域,靜態變數具有穩健作用域。靜態變數分為靜態區域性變數和靜態全域性變數。靜態區域性變數具有區域性作用域,只被...