位运算的妙用
位運算
所有語言里面都有位運算,&,|,^,~,<<,>>,>>>,但是其他語言不清楚,前端估計許多人直接一掃而過,甚至把這玩意和邏輯或與混淆,甚至有的不認(rèn)識<<,>>>,問這什么意思的那是許多許多。由于這個運算屬于底層的二進制的運算,不做詳解(詳解的話,閱讀不易,而且許多人功力不夠),只講一些常用的,(注意位運算性能更好,且容易裝逼,穩(wěn)重的裝逼)
1。判斷奇偶數(shù)
常用的(a%2!=0)
位運算 if(a&1){奇數(shù)}
原理:任何偶數(shù)二進制第一位數(shù)必定0,而奇數(shù)必定是1,而1的二進制就是1,所以
可以用這個判斷
2.交換變量
一種a = [a=b,b][0],這個確實裝逼
其實還有更穩(wěn)重的方法
a^=b,b^=a,a^=b
原理:
第一步?jīng)]啥好說a = a^b
第二步:b=b^a,也就是b=b^a^b,也就是b=a^0,此處換值
第三步:a=a^b 也就是a=a^b^a,也就是b
3 向下取整
一般方法 Math.floor()
位運算x|0
4乘以2的n次方
x<<n
原理:2進制移動一位相當(dāng)于乘以2
暫時這么多吧,其他許多覺得意義不是很大,今后本博文,會陸續(xù)增加數(shù)據(jù)庫,java(myeclipse),php,thinkphp方面的菜鳥內(nèi)容,當(dāng)然即使菜鳥,不會菜鳥到類似介紹$a=3,echo $a,int a =2 是什么,這種小白文
轉(zhuǎn)載于:https://www.cnblogs.com/lyz1991/p/5801290.html
總結(jié)
- 上一篇: 本来中午打算应付下随便吃点,可是连盐都没
- 下一篇: 从此博客改变自己