基础编程题之不用加减乘除做加法
生活随笔
收集整理的這篇文章主要介紹了
基础编程题之不用加减乘除做加法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目
- 解題思路
- 代碼
題目
???br />
解題思路
這種題其實有非常多的解法,這里我們一定要掌握一種效率最高的算法,那就是利用位運算,其本質也就是二進制的加法
在十進制中,我們做加法一般遵循以下三步:以5+7為例
而在二進制中,其實也是遵循三個步驟:以5+7為例,其二進制分別為101和111
代碼
class Solution { public:int Add(int num1, int num2) {while(num2)//num2作為進位值{int sum=num1 ^ num2;//不算進位后的相加結果int carry=(num1 & num2) << 1;//進位num1=sum;num2=carry;}return num1;} };總結
以上是生活随笔為你收集整理的基础编程题之不用加减乘除做加法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (计算机组成原理)第六章总线-第四节:总
- 下一篇: SharePoint 2013 Erro