You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅由0和1构成的数组模拟二进制加法运算的实现方法

实现思路

你要的效果本质是模拟8位二进制数每次加1的进位逻辑,操作核心是从数组最右端(对应二进制最低位)开始计算,处理进位即可。

完整实现代码

# 初始化8位二进制数组
binary_array = [0, 0, 0, 0, 0, 0, 0, 0]

def add_one(arr):
    carry = 1  # 每次执行加1操作,初始进位为1
    # 从最后一位(最低位)向前遍历
    for i in range(len(arr)-1, -1, -1):
        current_sum = arr[i] + carry
        if current_sum == 2:
            # 满2进1,当前位设为0,进位保持1
            arr[i] = 0
            carry = 1
        else:
            # 无进位,直接更新当前位,结束循环
            arr[i] = current_sum
            carry = 0
            break
    # 所有位遍历完仍有进位,说明超出8位二进制最大值(255)
    if carry == 1:
        print("当前数组已达8位二进制最大值,加1溢出")

测试验证

按如下方式调用即可匹配你给出的示例效果:

# 第1次加1
add_one(binary_array)
print(binary_array) # 输出:[0, 0, 0, 0, 0, 0, 0, 1]

# 第2次加1
add_one(binary_array)
print(binary_array) # 输出:[0, 0, 0, 0, 0, 0, 1, 0]

# 第3次加1
add_one(binary_array)
print(binary_array) # 输出:[0, 0, 0, 0, 0, 0, 1, 1]

如果需要循环执行多次加1操作,直接套循环调用add_one函数即可。

内容的提问来源于stack exchange,提问作者Bilkent Ogrencisi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:39:01