題目描述
寫一個函式,求兩個整數之和,要求在函式體內不得使用+、-、*、/四則運算子號,
思路
題目不允許用+、-、*、/四則運算子號,推測想考察我們計算機底層運算規則,即二進制的運算,二進制加法運算無非就是滿2進一,
先想好具體的實作,舉個例子思考,
十進制 8 +5 = 10 +3;
二進制 2+3 = 4+1;
0010 2
0011 3
------------
0001 1 ^運算
0100 4 &運算同時左移一位
------------
0101 5
代碼
public class Solution {
public int Add(int num1,int num2) {
int nosum = 0;
if(num2 != 0) {
//無進位和
nosum = num1 ^ num2;
//進位
num2 = (num1 & num2) << 1;
return Add(nosum,num2);
}else {
return num1;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/4731.html
標籤:python
上一篇:DHCP協議及其抓包分析
