在Python中将十进制转换为二进制:一种快速简单的方法

使用内置的 bin() 函数,在 Python 中将十进制转换为二进制非常简单。本文将解释它的工作原理并向您展示一些示例和技巧。

在Python中使用递归解决方案将十进制转换为二进制

在这个示例中,我们将编写特定的函数(DecimalToBinary)来实现获取商(下一个函数调用的输入)和余数(输出值),然后我们将重复调用它,直到输入值大于并等于1

代码:

#Recursive Function to convert Decimal to Binary

def decimalToBinary(ip_val):
    if ip_val >= 1:
    # recursive function call
        decimalToBinary(ip_val // 2)
    
    # printing remainder from each function call
    print(ip_val % 2, end = '')
 
# Driver Code
if __name__ == '__main__':
    # decimal value
    ip_val = 24
     
    # Calling special function
    decimalToBinary(ip_val)

输出:

011000

时间复杂度: O(log N) - 递归方法在每次递归调用中将小数除以 2,使时间复杂度为对数。

使用内置函数在 Python 中将十进制转换为二进制

在Python中,可以使用bin()函数实现从十进制值到相应的二进制表示形式的转换。该函数接受一个值作为其参数并生成其等价的二进制值。

注意: bin() 返回带有前缀 0b 的二进制值,因此应根据用例进行格式化以删除 0b。

代码:

# Function to convert decimal to binary
# using built-in python function
def decimalToBinary(n):
    # Converting decimal to binary
    # and removing the prefix(0b)
    return bin(n).replace("0b", "")
   
# Driver code
if __name__ == '__main__':
    # calling function
    # with decimal argument
    print(decimalToBinary(77))

输出:

1001101

时间复杂度: �(1)O(1) - 内置 bin 函数以恒定时间运行。

Python 中的十进制转二进制没有内置函数

除了使用Python的内置函数之外,我们还可以通过其他方式将十进制转换为二进制。

代码:

# Function to convert Decimal to Binary
def decimalToBinary(n):
    return "{0:b}".format(int(n))
# Driver code
if __name__ == '__main__':
    print(decimalToBinary(77))

输出:

1001101

时间复杂度: �(����)O(logN) - 与递归解决方案类似,手动方法具有对数时间复杂度。

快速忍法

对于那些寻求在 Python 中将十进制转换为二进制的快速方法的人来说,快速忍者方法提供了一个简化的解决方案。这种简洁的技术对于希望在不影响效率的情况下实现快速高效转型的专业人士来说是理想的选择。

代码:

# Function to convert Decimal to Binary
def decimalToBinary(n):
    return bin(n)[2:]
# Driver code
if __name__ == '__main__':
    print(decimalToBinary(24))

输出:

11000

时间复杂度: �(1)O(1) - 快速忍者方法利用bin 函数,时间复杂度恒定。

使用按位移位运算符>>

在 Python 中将十进制转换为二进制的另一种强大技术涉及巧妙地使用按位移位运算符 >>。该运算符允许我们将二进制数的位向右移动,从而有效地将其除以 2。利用此属性,我们可以迭代应用移位操作来获取十进制数的二进制表示形式。

这是使用按位移位运算符的简洁实现:

# Function to convert Decimal to Binary
def decimalToBinary(n):
    binary_representation = ''
    while n > 0:
        binary_representation = str(n % 2) + binary_representation
        n = n >> 1
    return binary_representation
    
# Driver code
if __name__ == '__main__':
    print(decimalToBinary(24))

输出:

11000

在此代码中,decimalToBinary 函数迭代地将当前十进制数的最右边位附加到二进制表示形式。然后,它使用>>将十进制数向右移动。操作员。

时间复杂度: �(����)O(logN) - 按位移位运算符在每次迭代中将小数减少一半。

使用内置格式化方法

Python 中的 format 方法提供了一种灵活方便的方法将十进制数转换为二进制表示形式。此方法允许精确控制输出的格式,使其成为寻求二进制表示的清晰度和自定义的开发人员的宝贵工具。

以下是如何使用 format 方法进行十进制到二进制的转换:

# Function to convert Decimal to Binary
def decimalToBinary(n):
    binary_representation = format(n, 'b')
    return binary_representation
    
# Driver code
if __name__ == '__main__':
    print(decimalToBinary(42))

输出:

101010

在此示例中,“b”是format 方法内的格式说明符指示 Python 将给定整数表示为二进制字符串。这一简洁的一行行简化了转换过程,为寻求简单性和可读性之间平衡的专业人士提供了一种优雅的解决方案。

时间复杂度: �(����)O(logN) - 与手动方法类似,格式化方法具有对数时间复杂度。

#python 

在Python中将十进制转换为二进制:一种快速简单的方法
1.15 GEEK