奇淫技巧,一些可能很小但是蛮好用的编程方法
该随笔随时会添加,但是不确定,
1:如何一个数是否为整数
(int) num - num == 0;
解析:当一个浮点数被强制转化为整数时会舍弃其小数部分,这时候当我们去减原有的数值时,就会发生变化了。
2:取出一个值最后的一个1
num && (num - 1);
解析:假设一个数的二进制为 11110000则其减一则为11101111即是
11110000
11101111
通过相与后得到通过得到
11100000
如此即可取出最后一个1了,可以通过while(n!=0){n=n&(n-1) flag++}这种方式来快速求出n有几个1.
3:如何判断一个整数是否为特定数的倍数
num / n * n == num
解析:由于计算器算法的缘故在除以一个不能整除的数时会直接向下取整再通过乘以n时就会出现数值变化。(所以说为什么我们不用num%n==0?因为这不cool~)

浙公网安备 33010602011771号