leetcode 算法 67.二进制求和(python版)

需求

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。
示例 1:
输入:a = “11”, b = “1”
输出:“100”
示例 2:
输入:a = “1010”, b = “1011”
输出:“10101”

代码

class Solution:
    def binary_sum(self,a,b):
        # 将二进制字符串转换为整数
        # int(a,2)第一个参数表示正常传入的字符串,第二个参数表示输出的进制数
        num1 = int(a, 2)
        print(num1)
        num2 = int(b, 2)
        print(num2)
        # 执行加法操作
        # bin()函数返回一个以"0b"开头的字符串,表示给定整数的二进制形式。
        # oct()来将整数转换为八进制。以‘0o’开头
        # hex()来将整数转换为十六进制。以‘0x’开头
        sum_num = bin(num1 + num2)[2:]  # 使用bin函数转换为二进制并去掉前两个字符('0b')
        print(num1 + num2)
        print(bin(num1 + num2))
        print("--------------------------------")

        return sum_num

if __name__ == '__main__':
    call=Solution()
    a = "1010"
    b = "1011"
    print(call.binary_sum(a, b))

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值