Python拆分十六进制字符 - bitshift

时间:2017-01-26 01:01:10

标签: python split hex padding

这是我的代码:

ROSF = 30e3;
MCLK = 16e6;
SFC = (ROSF/(MCLK/4))*(2**27);
SFC = int(SFC);
SFC = hex(SFC);
print SFC;

我得到0xf5c28,但我想得到0x0f5c28

之后,我想要有3个变量,里面有2个字符。我想将我的十六进制数拆分为3个以获得以下变量:

set1 = 0x0f
set2 = 0x5c
set3 = 0x28

1 个答案:

答案 0 :(得分:0)

我这样解决了:

ROSF = 30e3
MCLK = 16e6
SFC = int((ROSF/(MCLK/4))*(2**27))
register1 = ((SFC >> 16) & 0x00FF)
register2 = ((SFC >> 8) & 0x00FF)
register3 = (SFC  & 0x00FF)
print(hex(register1))
print(hex(register2))
print(hex(register3))

对不起我的不好问题。但这就是我想要的。