将十进制数转换为二进制数并更改一个索引

约翰公路

我正在寻找以下问题的最快解决方案:我的函数采用一个十进制数dec,然后将其转换bin为length的二进制数l然后,我更改i二进制数的第n个索引处的值,并将结果转换回十进制数。目前,我通过以下方式实现此目的:

def new_dec_function(dec, i, l):
    bin = list(map(int, numpy.binary_repr(dec, width=l)))
    bin[i] = 1 - bin[i]
    new_dec = 0
    for bit in bin:
        new_dec = (new_dec << 1) | bit
    return new_dec

你知道这是否可以改善?

无代码Bugging

您所说的“十进制”数字已经以二进制表示形式存储在计算机中,因此您要做的就是翻转数字的第i位。使用二进制xor运算符可以轻松完成此操作^

def new_dec_function(dec, i):
    return dec ^ (1 << i)

>>> new_dec_function(5, 1)
7
>>> new_dec_function(5, 0)
4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在使用朴素递归将十进制数转换为二进制数时捕获第一个数字?

将列表整数类型的二进制数转换为十进制数?

如何使用递归函数将十进制数转换为二进制数?

VHDL:如何将二进制数转换为十进制数

在Python 3中将十进制数转换为二进制数

c++ 将十进制数转换为二进制数

使用python中的函数将十进制数转换为二进制数

C程序将十进制数转换为二进制字符串

将二进制数向量转换为十进制向量

将十进制数7710转换为8位二进制补码

如何将很长的二进制数转换为十进制?

将负二进制数转换为十进制

将重复的二进制数转换为十进制

将二进制数数组转换为十进制数

在C中将十进制数转换为十亿进制数的二进制数

如何将十进制数转换为二进制数,并将二进制数保存在数组中?

JavaScript-以字符串形式将十进制数转换为4位二进制数

如何在python中使用STACK将十进制数转换为二进制数

在C ++中从二进制转换为十进制数

在Python中将十进制数转换为二进制的简单函数

如何在Swift中将十进制数转换为二进制?

十进制数转换为16位二进制(C)

添加二进制数而不转换为十进制或使用内置函数

在Java中严格使用乘法和除法将二进制转换为十进制数

我正在尝试制作一个非常简单的程序,将十进制转换为二进制,但是我需要将它们反转

用python在二进制文件中写一个1024位长的十进制数

如何从8位带符号二进制数中得到一个负的十进制值?

十进制转换为二进制

将二进制更改为十进制