我在Python中有以下函数,我需要将其转换为R
def hamming(h1, h2):
h, d = 0, h1 ^ h2
while d:
h += 1
d &= d - 1
return h
但我不知道如何处理这个按位。
更新 我不得不更新问题,因为我错误地分享了我所做的事情。 我知道BitWise运算符,但我没有得到相同的答案。 我应该包含我的代码,这些代码不会产生所有这些混淆。
我对此问题的准确性表示歉意。
我编写了如下函数:
hamming <- function(h1, h2) {
h <- 0
d <- h1^h2
while (d) {
h <- h + 1
d = bitwAnd(d, d-1)
}
return(h)
}
但我似乎从这两个功能得到了不同的结果。不知道哪条线路错了。
更新:我在Python中使用^在R中是相同的,我错了。我想出了这个问题。 谢谢大家
答案 0 :(得分:2)
基础R中有一组按位函数。请参阅?bitwAnd
了解您正在寻找的那个和其他可用的函数。