![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
该走的弯路,一步都不会少。
大家好,世界之大很高兴能与你相遇,缘分中带有一丝丝的必然,现在我还是一个大学生,我希望能写一些博客尽自己的微薄之力帮助你学习,我说的不一定是对的,只供参考,更希望你能帮我纠正错误,我会尽量避免错误,拿最好的代码和知识回馈大家,谢谢大家的支持。
展开
-
二进制中,存在1的个数。
在二进制里,有1和0,找出1的个数,我这里讲3种方法。 第一种, 在二进制的数里,把这个数移动分别与1&,1和1&得1,0&1得0,判断1得个数就可以得1的个数了,如 1010011 ,让他向右移动,分别&1,得到4个1。代码如下。 public class main{ public static void main(String[] args){ ...原创 2019-02-22 10:45:10 · 111 阅读 · 0 评论 -
在1001个数中,只有一个数是重复的,其他的都是一个。请找出重复的数。
在1001个数中,只有一个数是重复的,想要消掉重复的找到一个的。 在位运算中异或可以消除相同的数。A^A就没了,把1001个数异或1000,就可以得出唯一一个的数。代码如下: public static void main(String[] args) { int N=1001; int [] arr=new int[N]; for(int i=0;i<arr.length-1...原创 2019-02-22 11:42:01 · 1222 阅读 · 0 评论