带掩码的十进制数的最后两位



为了获得十进制数的最后N位,我通常将其转换为字符串。例如,对于两个数字:

n = 129387
int((str(n)[-2:]))
# 87

对于二进制,它相对简单地使用掩码来实现这一点,例如:

n = 0b00101001
'{:02b}'.format(0b00101001& 0b11)
# '01'
# -- or -- 
'{:02b}'.format(0b00101001& 0x3)
# '01'

是否可以将掩码应用于指示数字以获得最后两位数字,即上例中的87

您指的是mod运算符,例如:

In []:
129387 % 100  # 10**2
Out[]:
87

一般情况是base**n,其中nbase中的位数,例如二进制情况:

In []:
format(0b00101001 % 2**2, '02b')
Out[]:
'01'
In []:
format(0b00101001 % 2**4, '02b')
Out[]:
'1001'

相关内容

  • 没有找到相关文章

最新更新