-
給定兩個二進位制字串,返回它們的和(也是一個二進位制字串)。 例如, a =“11” b =“1” 返回“100”。
- 直接給出程式碼吧,就是簡單的位運算。從後往前逐位相加(程式設計int型別),carry記錄進位情況。最後在判斷最後一位情況。主要是考察十進位制轉為二進位制或者二進位制轉為十進位制
class Solution { public: string addBinary(string a, string b) { int len_a = a.size()-1; int len_b = b.size()-1; int carry = 0; string sum; while (len_a >= 0 || len_b >= 0){ int flag = 0; if (len_a >= 0){ flag += a[len_a] - '0'; len_a--; } else flag += 0; if (len_b >= 0){ flag += b[len_b] - '0'; len_b--; } else flag += 0; flag += carry; carry = flag/2; sum = static_cast<char>(flag%2+'0') + sum; } if (carry == 1) sum = '1' + sum; return sum; } };
(位運算)兩個字串的位運算
相關文章
- 二進位制、位運算、位移運算
- 位運算
- 理解位運算
- SQL位運算SQL
- 使用位運算進行加法運算
- JS中的位運算JS
- Java中的位運算Java
- 位運算的應用
- 位運算子的計算
- 學習位運算
- PHP 位運算使用PHP
- 位運算進階
- 位運算總結
- 巧用JS位運算JS
- 位運算-異或(^)
- java二進位制運算十進位制(精確運算)Java
- 運算整數C/C++位運算技巧C++
- 計算機基礎:位運算計算機
- 位運算(一):二進位制中1的個數
- 位運算簡單操作
- Java位運算小節Java
- ~ 按位取反運算解析
- iOS 開發 – 位運算iOS
- C語言位運算C語言
- 【演算法技巧】位運算裝逼指南 ---- 帶你領略位運算的魅力演算法
- 有趣的二進位制2—高效位運算
- NumPy常用的位運算函式函式
- 實用的位運算應用
- python中字串基本操作以及三種位運算Python字串
- 位運算與SQL實現SQL
- 【演算法】位運算技巧演算法
- 【每日演算法】位運算演算法
- 演算法之位運算演算法
- 處理器運算位數
- 按位取反運計算方法
- 位運算--求一個 數二進位制中1的個數
- C# 位運算及例項計算C#
- 談談位運算和在Android中的運用Android