2301_76777851 2023-04-10 01:51 采纳率: 100%
浏览 20
已结题

把由负整数构成的列表中的每个数转换成二进制补码形式

【问题描述】

已知一个列表,这个列表中的每个元素都是负整数,依次把这个列表中的每个数转成用32位二进制表示的补码形式,放入另外一个列表进行输出。
【输入形式】

用列表的形式进行输入,包括方括号,每个元素用逗号分隔
【输出形式】

直接用print输出列表
【样例输入】

[-1,-2,-3]

【样例输出】

['0b11111111111111111111111111111111', '0b11111111111111111111111111111110', '0b11111111111111111111111111111101']

【样例说明】

输出列表中的每个元素,都是对应的负整数的二进制形式。

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2023-04-10 09:10
    关注

    以下内容部分参考ChatGPT模型:


    可以使用Python内置函数bin()将负整数转化为补码形式的二进制字符串,然后将其添加到一个新的列表中。具体实现如下:

    num_list = [-1, -2, -3]
    result_list = []
    for num in num_list:
        bin_str = bin(num & 0xffffffff) # 将负整数转换为32位二进制补码字符串
        result_list.append(bin_str)
    print(result_list)
    

    输出结果为:['0b11111111111111111111111111111111', '0b11111111111111111111111111111110', '0b11111111111111111111111111111101']


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月10日