- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两个二进制数
01110
和
10010
很容易看出,他们不同的第一个位置是右数第三个。我如何在 python 中找到它?比方说,我会有类似 sdb(a, b)
的东西,在这种情况下会返回 3。有没有比使用左移从右边循环 2 个数字位更好的选择?
最佳答案
您可以对这两个数字进行XOR
,当两个位相同时,XOR 将返回 0,如果两个位不同,则返回 1。所以 01110 ^ 10010
的结果将是 11100
然后我们可以使用 rindex 将其解析为字符串以查找我们遇到的第一个 1
右侧,因为这将是位不同的第一个地方。这将为我们提供左侧的索引。然后,我们从异或字符串的长度中减去它,以从发生差异的右侧获得位数。
def sdb(a: int, b: int) -> int:
try:
xor_string = f'{a^b:b}'
index = len(xor_string) - xor_string.rindex('1')
except ValueError as ve:
#if no bits are different return index 0
index = 0
return index
num1 = int('01110',2)
num2 = int('10010',2)
print(sdb(num1, num2))
关于python - 如何找到python中两个数字不同的最低有效位的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59286545/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!