c 的 運算子

2021-04-24 03:52:04 字數 345 閱讀 7022

今天乙個朋友問起~運算子,他好久不用,忘了怎麼用。

~運算將二進位制的數值中0取1,1取0。我舉了個例子,比如2,表示為0000 0010,執行完~運算符號後就變為1111 1101。剛說到這裡他覺得不對,因為無論在vc還是在carbid中結果都是-3,剛才那個值負的太厲害了。 這個時候也不知道怎麼說好了,就找了一篇有關原碼、反碼和補碼的文章發給了他,後來就沒有結果了,但願弄了清楚。看文章的你弄清楚沒有?呵呵

其實高階語言已經把變化做完了,我們看到的都是結果,其過程還需要一些《計算機組成原理》的知識。

本來就這麼個事情不值得寫一篇,但是細細想起來很多時候我如同他一樣,還是比較浮躁,不重視積累,為了過程而過程,早就忘了曾經的目標。

C 運算子過載賦值運算子

自定義類的賦值運算子過載函式的作用與內建賦值運算子的作用類似,但是要要注意的是,它與拷貝建構函式與析構函式一樣,要注意深拷貝淺拷貝的問題,在沒有深拷貝淺拷貝的情況下,如果沒有指定預設的賦值運算子過載函式,那麼系統將會自動提供乙個賦值運算子過載函式。賦值運算子過載函式的定義與其它運算子過載函式的定義是...

C 運算子過載轉換運算子

為什麼需要轉換運算子?大家知道對於內建型別的資料我們可以通過強制轉換符的使用來轉換資料,例如 int 2.1f 自定義類也是型別,那麼自定義類的物件在很多情況下也需要支援此操作,c 提供了轉換運算子過載函式 它使得自定義類物件的強轉換成為可能。轉換運算子的生命方式比較特別,方法如下 operator...

C語言 運算子與 運算子

我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...