Add Binary
来源:互联网 发布:老男孩python 12期 编辑:程序博客网 时间:2024/04/30 02:11
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
注意防止长度不同的,不小心的操作导致溢出。再者插入字符每次是从头开始插入!
string reverse_str(string str) { int len = str.size(); int first,last; char temp; first = 0; last = len -1; while(first <= last) { temp = str[first]; str[first] = str[last]; str[last] = temp; first ++; last -- ; } return str; } string addBinary(string a, string b) { int size = 0; int carry = 0; int value = 0; int x,y; int len_a,len_b; string str,str_a,str_b; str_a = reverse_str(a);//可以用 reverse(a)库函数!#include <algorithm> str_b = reverse_str(b); len_a = str_a.size(); len_b = str_b.size(); size = max(len_a,len_b); for(int i = 0;i < size;i++) { if(i < len_a)//溢出!!!! x = str_a[i] - '0'; else x = 0; if(i < len_b) y = str_b[i] - '0'; else y = 0; value = (x+y+carry)%2; carry = (x+y+carry)/2; str.insert(0 ,1,value+'0');//每次从开始插入,指明是插入一位 } if(carry == 1)//最后的判断最高位有进位 str.insert(0, 1,'1'); return str; }
0 0
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- error at ::0 can't find referenced pointcut allMethod的解决方案
- c指针
- Keil C51详细设置
- 针对windows编程-linux驱动编程-usb编程的号文章--推荐
- 枚举
- Add Binary
- Ubuntu安装或者运行时Matlab找不到libc.so.6
- 2013-12-10复习数据库高级语法
- 让Linux服务器时间同步
- 组合c(m,n)的计算方法
- 深入浅出AT命令(3)-网络服务命令
- 使用Sublime Text时unable read project问题的解决方法
- java实现简单的单点登录
- Shell编程练习