将二进制转换为十六进制等无功能.

cod*_*deX 1 python binary hex decimal

我需要一些帮助转换:

  • 二进制 - 十六进制
  • 二进制小数
  • 十六进制 - 小数

反之亦然使用Python而不使用函数,例如 binascii

我知道一点Python,我对数组有所了解.只是无法理解这一点.

Mah*_*din 6

好吧,有内置的转换函数如bin或hex或int,我不确定这将如何影响你的"不使用函数".您可以检查以下代码.

# Convert decimal to binary
>>> bin(10)
'0b1010'
>>> bin(10)[2:]
'1010'
>>> bin(10)[2:].zfill(8)
'00001010'
# Convert binary to decimal
>>> int('00001010',2)
10
# Convert decimal to hexadecimal
>>> hex(123)
'0x7b'
>>> hex(123)[2:]
'7b'
>>> hex(123)[2:].zfill(8)
'0000007b'
# Convert hexadecimal to decimal
>>> int('0000007b', 16)
123
# Convert binary to hexadecimal
>>> hex(int('1010', 2))
'0xa'
# Convert hexadecimal to binary
>>> bin(int('A', 16))
'0b1010'
Run Code Online (Sandbox Code Playgroud)

编辑:

示例算法..

def dec2bin(num):
    if num == 0: return '0'
    bin_str = ''
    while num > 0:
        bin_str = str(num % 2) + bin_str
        num = num / 2
    return bin_str
Run Code Online (Sandbox Code Playgroud)