gpt4 book ai didi

python - 加倍二进制数

转载 作者:太空狗 更新时间:2023-10-29 20:32:16 26 4
gpt4 key购买 nike

如何将整数中的多个二进制数字加倍?例如,如果 bin(x)="1001",则 bin(y) 必须为“11000011”。有什么智能又快速的算法吗?

更新:这是一个优雅的解决方案:

''.join([''.join(i) for i in zip(X,X)])

其中 X 是 bin(int_x)[2:]

但是,我对更快的方法和任何大小的整数感兴趣。也许算术转换应该有所帮助。

最佳答案

这是一种应该相当快的方法:将您的数字转换为二进制字符串,然后将结果重新解释为以 4 为基数。现在要确保所有“1”都正确加倍,将结果乘以 3。

>>> x = 9
>>> bin(x)
'0b1001'
>>> y = int(bin(x)[2:], 4)*3
>>> bin(y)
'0b11000011'

关于python - 加倍二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com