我想不懂這是為啥 你們能幫我嗎?

時間 2021-06-03 09:02:57

1樓:榴蓮泡芙

先說下前提:Swap的兩個數一定得是相同型別才有意義。

針對題主的問題:先說結論,這是個巧合。對於無符號整數不適用。

這個巧合僅針對兩個相同字長的有符號型別有效,原因是計算機補碼加法的運算規則導致的。

避免溢位的其他做法:

用臨時變數或者位運算:

// 臨時變數

short tmp = a; a = b; b = tmp;

// 位運算

a ^= b; b^= a; a ^= b;

更好的做法是用庫函式

std::swap(a, b);

補碼加法原理可以參考:

計算機補碼運算背後的數學原理是什麼? - 凌之峰的回答 - 知乎 https://www.

庫函式的實現可以參考:

c++ STL中的swap()如何實現? - 知乎 https://www.

2樓:

因為計算機中的整數加法是符合以下規律的:

x = x + y - y

兩數相加溢位之後,又減去其中一數,自然會「溢位」回去。這沒什麼奇怪的。

我想挽回她 能幫幫我嗎

已重置 從你的描述看得出來,現階段她對你很牴觸,對於戀愛這個詞也很牴觸,所以要想挽回的話,你就別再重複復合這件事情了。因為再多的承諾,都比不得實實在在的行動。這時候第一步,你該做的是理清楚分手的原因,從之前的每一次吵架,每一次鬧矛盾找出自己的毛病 沒給她自由 太過纏著她 猜不准她的想法 異地沒做到陪...

朋友們能幫我分析一下嗎,這是我想多了嗎?

gaxs0918 其實每個家庭或多或少都會受外界影響,但是以後生活是你們兩個生活,不是跟他父母,姐姐。當然以後肯定多少會受他們的影響。在人際交往中會遇到各種各樣的人,形形色色的人,有人對你真心好,有人表面一套背地一套,有人直接面對面對怒。但是對不一樣的人方式不一樣,真心對真心,假意對假意。有人適合捧...

想專公升本,但不知道選什麼專業,能幫幫我嗎?

陝西西培專公升本 對於準備參加專公升本的小夥伴們,專業選擇是乙個既重要又繁瑣的事情。西西建議你,盡量選擇與自己專科專業一致的專業,備考內容好理解,考試通過率較高。如果想跨專業報考,可以根據自己的職業規劃或者考研方向。但是有一點需要注意,雖然陝西專公升本考試允許跨專業,允許跨考的只能是相近的專業,陝西...