tft每日頭條

 > 生活

 > c語言怎麼計算兩個數相加

c語言怎麼計算兩個數相加

生活 更新时间:2024-12-04 04:27:20

題目要求如圖

c語言怎麼計算兩個數相加(牛客網C語言練習)1

思考

c語言怎麼計算兩個數相加(牛客網C語言練習)2

不能使用四則運算,根據過往的學習經曆,我唯一能想到的就是位操作符和移位操作符​

例:使用位操作符進行int變量交換

位操作符的使用

先來回顧一下這位操作符的作用

位操作符操作的是整形的二進制位,它的操作數是2,​比較兩個整形的二進制位​

(1)&按位與:對應的二進制 全為1才是1,否則0

(2)|按位置或:對應的二進制 有1為1,全為0才為0

(3)^按位異或:相同為0,不同為1

比較一下正常的二進制相加和按位異或,發現按位異或是沒有進位的相加

c語言怎麼計算兩個數相加(牛客網C語言練習)3

原本應該是010,但是按位異或後是000

1 1需要進位的1并沒有進到下一位裡去

而使用​​按位與​​操作符,我們可以得到這兩個數相加需不需要進位

c語言怎麼計算兩個數相加(牛客網C語言練習)4

這時候将按位與之後的結果和按位相加,就是我們的答案了

但是題目要求​不能使用加減法​

a.再将按位與的結果​​0 1 0​​​與 按位異或結果​​0 0 0​​進行​按位與​

b.得到​​0 0 0​​,代表無需進位

c.這時候将​​0 1 0​​​與​​0 0 0​​​進行按位異或,即得出相加後的結果​​0 1 0​​

這個例子比較簡單,我們可以再用複雜一點的例子再證明它的可行性

​​3​​​:0011和​​5​​:0101

c語言怎麼計算兩個數相加(牛客網C語言練習)5

根據這個思路,我們成功地完成了3和5的相加

代碼實現

本題是​​接口型​​題目,我們隻需要完成一個函數,實現相加的功能

c語言怎麼計算兩個數相加(牛客網C語言練習)6

不過我們可以自己寫一個主函數來測試它的可行性

如圖,​函數正确算出了兩個數的和​

c語言怎麼計算兩個數相加(牛客網C語言練習)7

如果這篇博客幫到了你,還請點個贊啦~

-----------------------------------

為了幫助大家,輕松,高效學習C語言/C ,給大家分享我收集的資源,從最零基礎開始的,幫助大家在學習C語言的道路上披荊斬棘!

編程學習書籍分享:

c語言怎麼計算兩個數相加(牛客網C語言練習)8

編程學習視頻分享:

c語言怎麼計算兩個數相加(牛客網C語言練習)9

整理分享(多年學習的源碼、項目實戰視頻、項目筆記,基礎入門教程)

對于C/C 感興趣可以關注小編在後台私信我:【編程交流】一起來學習哦!可以領取一些C/C 的項目學習視頻資料哦!已經設置好了關鍵詞自動回複,自動領取就好了!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved