1
zagreb 2018-03-21 09:01:09 +08:00
return bin(int(a, 2) + int(b, 2))[2:]
|
2
zqqian 2018-03-21 09:19:47 +08:00 via Android
小学生算术
|
4
mengyaoss77 2018-03-21 09:27:39 +08:00
声明一个足够长的数组,然后按位加放进去。。
|
5
hjdtl 2018-03-21 09:29:41 +08:00
(parseInt(a,2)+parseInt(b,2)).toString(2)
|
7
kaifeii 2018-03-21 09:37:20 +08:00 via iPhone
题目应该是有很长位数的。除了按位加以外有一个位运算做加法的方法,异或后移位
|
9
kaifeii 2018-03-21 09:41:21 +08:00 via iPhone
当然我只是举例两个字符串同时确定位数从左向右一起输入的特殊情况,有点钻牛角尖了
|
11
ebony0319 2018-03-21 09:47:38 +08:00 via Android
楼上很多都没有考虑字符串是可以无限长,但是 int 是有范围的。
|
13
newtype0092 2018-03-21 09:52:43 +08:00
@ebony0319 大数计算一般是按小学学的竖式的方法计算的吧,开两个数组,从低到高位依次计算,能算多大看内存。
|
14
tommyZZM 2018-03-21 09:55:40 +08:00
加减法感觉还好。
请大佬指教一下乘除法怎么弄? |
16
luoluoluo 2018-03-21 10:30:00 +08:00
要是真模拟,先 reverse a b ;再相加;结果 reverse
|
17
xrlin 2018-03-21 14:10:18 +08:00
按位计算就行了,只要记录下前一位的进位。
|
18
siyemiaokube 2018-03-21 23:05:26 +08:00 via iPhone
|
19
siyemiaokube 2018-03-21 23:08:36 +08:00 via iPhone
|