如何找到自定义二进制规则的编号?

正如您在下面看到的,仅查找这种新型二进制代码的编号就需要一种新方法。我可以一一列举它们,但是如何正确实现它仍然困扰着我。


以这个二进制代码为例。

1100

,并使用以下方法检测其编号:

0011-#1

0101-#2

0110-#3

1001-#4

1010-#5

1100-#6

因此1100是'6'

然后我们创建一个新代码,该代码是6,但是它的1s少(因此有0s)!用户定义减1的数量。在此示例中,它是1减去1s。因此,我们可以通过以下方式找到它:

000001

000010

000100

001000

010000

100000

因此100000为'6'

此外,该代码应反向执行,通过用户定义将100000变成1100,以带走2个0,然后代码加1直到起作用。 (用户要做的就是将代码中的1更改为0,以反转代码功能。不需要额外的代码。)

代码的结尾有时需要填充。全为1。 1100-1111。

tianli12345 回答:如何找到自定义二进制规则的编号?

“二进制规则”的描述对我来说没有任何意义,但是在第一个规则中,如果您只是忽略了最后一位数字,那么它就是数字的直接二进制表示形式。在第二条规则中,这似乎只是将数字向左移动的功能,与将数字乘以2相同(您可以使用log2函数来撤消):

% cat rules.py 
import math

bin1 = 0b1100
bin2 = 0b100000
print(bin1>>1)
print(math.log2(bin2)+1)

% python rules.py 
6
6.0
本文链接:https://www.f2er.com/3161746.html

大家都在问