实现大数类,实现加减功能
时间: 2023-08-28 18:16:07 浏览: 95
大数加减乘类的实现
好的,我可以为您实现大数类,并且实现加减功能。下面是示例代码:
```python
class BigNum:
def __init__(self, num_str):
self.num_list = [int(n) for n in num_str]
def __str__(self):
return ''.join([str(n) for n in self.num_list])
def __add__(self, other):
res = []
carry = 0
i = len(self.num_list) - 1
j = len(other.num_list) - 1
while i >= 0 or j >= 0 or carry > 0:
a = self.num_list[i] if i >= 0 else 0
b = other.num_list[j] if j >= 0 else 0
sum = a + b + carry
res.append(sum % 10)
carry = sum // 10
i -= 1
j -= 1
return BigNum(''.join([str(n) for n in res[::-1]]))
def __sub__(self, other):
res = []
borrow = 0
i = len(self.num_list) - 1
j = len(other.num_list) - 1
while i >= 0 or j >= 0:
a = self.num_list[i] if i >= 0 else 0
b = other.num_list[j] if j >= 0 else 0
sub = a - b - borrow
res.append((sub + 10) % 10)
borrow = 1 if sub < 0 else 0
i -= 1
j -= 1
return BigNum(''.join([str(n) for n in res[::-1]]))
```
以上代码实现了一个 BigNum 类,可以对大数进行加减运算。其中,__init__() 方法用于初始化大数,__str__() 方法用于将大数转换为字符串,__add__() 方法实现了大数加法,__sub__() 方法实现了大数减法。您可以根据需要进行调用。
阅读全文