![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基本逻辑运算符的使用
wo_yuanchengfeng
这个作者很懒,什么都没留下…
展开
-
请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2
刚刚讲完 ^异或,我们接下来来看相与相与的规则就是:全1为1,不同为0运算规则:0&0=0;0&1=0;1&0=0;1&1=1;但我们需要理解的是,通常我们两个变量进行相与的时候使用它们的二进制进行相与,java中 int 类型占4个字节,一个字节是8位,所以一个int 类型是32位。关于位运算不太清楚的,请百度一下,做个记录,能够大概即可//方法1 这里直接是实现部分,小伙伴们自取,注意粘贴时括号问题 public static void main(Str原创 2020-12-23 19:24:50 · 728 阅读 · 0 评论 -
*有1~1000这1000个数,放在大小为1001的数组中,只有一个元素值重复,要求不用辅助空间,每个数访问一次,找出重复的元素*
Java中 ^异或 &相与小常识学过基本逻辑运算符我们知道 ^ 异或是什么意思无外乎:相同为零,相异为1。即 0 ^ 1 = 1,0 ^ 0 =0,1 ^ 1 = 0;延伸至变量 :a ^ a = 0; a ^ 0 = a;我们经常在某些交换值的算法中用到void swap(int &a, int &b){ a = a^b;用a来当作中间桥梁 b = a^b;(即是(a ^ b) ^ b = a ^ 0 = a);//这样即是交换了a和b的值 a = a^b;//同原创 2020-12-23 18:57:49 · 392 阅读 · 0 评论