美文网首页
异或用法

异或用法

作者: 忆小芝 | 来源:发表于2016-12-19 10:02 被阅读0次

作为leetcode入门的第一题,461,做如下总结,对于异或和二进制一直用的很不熟悉,学的也非常不扎实,所以做题时并不轻松。

计算机世界是二进制世界,所以所有数字都是以二进制储存的,不需要额外转换。

X^Y的意义是当x和y都化成二进制数时,将其每一位一一对应,相同为1,不同为0.其结果是对应后的二进制数的十进制形式。

而二进制数字缩位的方法是将其十进制形式除以2.(当其是2的倍数时,如不是需要减1)

将问题转换为求一个二进制数有多少个1时,问题会变得简单一些。即十进制数与2mod,如果余数为1,说明最后一位为1,计算器进行+1运算,然后将其-1,除以2,进行缩位运算。

```

public class Solution {

public int hammingDistance(int x, int y) {

int res =x^y;

int cnt=0;

for(int i=0;i<31;i++){

if(res%2==1){

cnt=cnt+1;

res=(res-1)/2;

}

else{

res=res/2;

}

}

return cnt;

}

}

```

希望继续坚持,加油~


相关文章

  • 位运算符的基本用法

    & , | , ^ , ~ 的用法 &: 按位与 有0则0 |: 按位或 有1则1 ^: 按位异或 相同则0...

  • 位运算

    名称符号 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移运算 << 右移运算 >> &按位与的用法(相同...

  • 异或

    定义:同为0,异为10^0 01^0 1奇数^1 加-1;偶数^1 加1任何整数^0 不变:abb(可以调换顺序)...

  • 异或

    异或Exclusive or(通常称为“XOR”)是布尔二进制操作符,当第一个输入或第二个输入(但不是两者都是)为...

  • 异或

  • 异或

    异或 题目原链接:https://www.nowcoder.com/practice/fc05f68c5f4743...

  • 异或

    1010异或1111=0101异或运算还可以 是n-1-N 例如 1111-1010 = 0101

  • 异或

    5.1 概述 异或(XOR)是一种逻辑二元操作,当两个输入中有且仅有一个为真时,结果为真。 另一种思考异或的方式是...

  • iOS 枚举|结构体

    iOS 运算符[/p/1eaa9e021fac] 左移<<右移>>按位或︳按位并&按位取反~按位异或^ C语言用法...

  • 存或所异,异或所存…

    《生》 隐约有声响,翩跹,三两, 划破长空的瞬,圮绝寂寥; 星晕下,墨影飘洒, 踟躇而又悠扬。 汲汲追...

网友评论

      本文标题:异或用法

      本文链接:https://www.haomeiwen.com/subject/euzzmttx.html