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

【问题描述】

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

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

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

[-1,-2,-3]

【样例输出】

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

【样例说明】

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

以下内容部分参考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']


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

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7775045
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:士兵队列训练问题:某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的
  • 除此之外, 这篇博客: 2020JavaScript技能抽查中的 任务三:实现统计同构数关键算法并绘制流程图(30 分) 编写程序输出 2~99 之间的同构数。同构数是指这个数为该数平 方的尾数,例如 5 的平方为 25,6 的平方为 36,25 的平方为 625, 则 5、6、25 都为同构数。 注意:调用带有一个输入参数的函数(或方法)实现,此函数(或 方法)用于判断某个整数是否为同构数,输入参数为一个整型参数, 返回值为布尔型(是否为同构数)。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    	</head>
    
    	<body>
    		<!--
    			注意:使用循环结构语句实现,直接输出结果不计分。 
    			任务三:实现统计同构数关键算法并绘制流程图(30 分) 
    			编写程序输出 2~99 之间的同构数。同构数是指这个数为该数平 方的尾数,
    			例如 5 的平方为 25,6 的平方为 36,25 的平方为 625, 则 5、6、25 都为同构数。 
    			注意:调用带有一个输入参数的函数(或方法)实现,
    			此函数(或 方法)用于判断某个整数是否为同构数,
    			输入参数为一个整型参数, 返回值为布尔型(是否为同构数)。	
            -->
    		<script>
    			//执行效率破n位长度的数
    			var num = prompt("请输入你需要测试的同构数:2~99之间");
    			isNum(num) ? alert("是同构数") : alert("不是同构数");
    			function isNum(num) {
    				var x = 10;
    				for(var i = 1; i < num.length; i++) {
    					x *= 10;
    				}
    				return Math.pow(num, 2) % x == num;
    			}
    		</script>
    	</body>
    
    </html>