不要算術運算子的加法

2021-09-29 15:41:31 字數 578 閱讀 2524

#include using namespace std;

/*思路:

二進位制加法。發現乙個特點。

位的異或運算跟求'和'的結果一致:

異或 1^1=0 1^0=1 0^0=0

位的與運算跟求'進製『的結果一致:

位與 1&1=1 1&0=0 0&0=0

異或將需要進製的位置 變成0;不需要進製的位置不變

位於將需要進製的地方 變成1,不要進製的位置變成0 再左移一位,就表示進製

將異或的結果和位於的結果再進行異或得到了乙個結果,

重複操作,當所有的位置都不需要進製的時候,表示已經算出結果

於是可以用異或運算和與運算來表示加法

可以將其記成乙個公式:a+b = (a ^ b) ^ ((a & b) << 1)

如果 ((a & b) << 1) != 0;表示需要有些位進製,

那麼 a = a^b, b = ((a & b) << 1);

*/class unusualadd

return a;

}};int main()

算術運算子

核心 運算子 就是對常量和變數進行操作的符號。分類 算術運算子,賦值運算子,比較運算子,邏輯運算子,位運算子,三目運算子 算術運算子 注意事項 a 整數相除只能得到整數。如果想得到小數,必須把資料變化為浮點數型別 b 獲取的是除法操作的商,獲取的是除法操作的餘數 class operatordemo...

算術運算子

算術運算子 加 減 乘 除 或 div div只保留整數部分 模 或 mod 查詢員工的姓名和薪資 select ename,salary from t employee 查詢員工的姓名和原來的薪資和漲薪1000元後的薪資 select ename,salary,salary 1000 from t...

算術運算子

算術運算子 和 和 與我們學的數學的理論沒有差別就只舉乙個列子別的以此類推 輸出 13 除法 相對而言就特殊了一點分為兩種情況 1.兩個整數相除,除數不能為零,會報異常,這個符合我們學數學的理論,就不舉列子了 2.有浮點數除數或者被除數中存在浮點數,有三種情況 1 正整數除以0 0.0 2 負整數除...