
Java基础
文章平均质量分 58
萧先森●‿●
这个作者很懒,什么都没留下…
展开
-
二进制的加减乘除实现
1. 加法当二进制加法没有进位时,两个数的加法其实就是按位异或,例如3 + 4 = 7,011 + 100 = 111,这个结果就是按位异或得到的结果,但是我们的加法肯定是存在进位的,那我们进位怎么表示呢,我们想一下,我同样使用异或运算,当只考虑一位的时候(a表示其中一个数的第i位,b表示另外一个数的第i位),只有两个1才会有进位,这就和与运算是一样的,但是进位肯定是要往前移位的,所以进位可以表示为 a & b << 1递归写法public int sum(int a, int b原创 2021-08-27 23:21:47 · 2746 阅读 · 1 评论 -
for循环中为什么使用++i而不是i++
在之前看到别人的代码时,for循环里面一直用的是++i,而我用的i++,我一直以为是使用习惯问题,后来发现在刷算法题的时候,发现题解里面的for循环几乎都是++i,我才知道原来使用++i比i++的性能要好一些i++和++i如何使用i++和++i都是i的自增操作,区别是引用和自增的顺序不同,单独使用时效果相同i++使用先引用i再自增,而++i是先自增再引用int i = 1;System.out.println(i++); // 输出1System.our.println(++i); // 输原创 2021-04-23 21:20:05 · 4520 阅读 · 0 评论