多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 【基礎算法】位運算-基本運算

【基礎算法】位運算-基本運算

來源:程序員人生   發布時間:2014-11-04 09:05:56 閱讀次數:2397次

上1篇中我們分析了位的定義,這1篇中我們分析1下位的基本運算

1. 移動

左移n位:乘以2的n次方

右移n位:除以2的n次方

(~0)左移n位:在1后面加上n個0 (注:~0不等于1,等于11…11)

x&(~0<<n):將最右側的n位清零

正數左移右側補0

正數右移左側補0

負數左移右側補1

負數右移左側補1


移動的作用總結:乘2,除2,右n位清零


2. 異或

x^0=x

x^x=0

x^1=~x

x^~x=1


異或的作用總結:取數,清零,取非,清1


3. 且運算

x&0=0

x&1=x

x&x=x


且運算的作用總結:位清零,位取數,取數


4. 或運算

x|0=x

x|1=1

x|x=x


或運算的作用總結:位清1,取數。


5. 取位

先把1左移i位

再把num與i做“與運算”

如果是0返回0,否則返回1

public static int getBit(int num, int i) { i = (1 << i); num = num & i; if (num == 0) return 0; return 1; }
也能夠直接把這個數右移i位后和1做與運算

public static int getBit2(int num, int i) { return (num>>i)&1; }

6. 設位

設置第i位的方法:X|00000010 (i=1)

public static int setBit(int num, int i) { i = 1 << i; return num | i; }


7. 清位

把第i位清0的方法

public static int clearBit(int num, int i) { i = 1 << i; i = ~i; num = num & i; return num; }

把最左側位到i位都清0的方法

public static int clearBitLtoI(int num, int i) { i = 1 << i + 1; i = i - 1; num = num & i; return num; }

把第i位到第1位都清0的方法

public static int clearBitItoR(int num, int i) { i = 1 << i + 1; i = i - 1; i = ~i; num = num & i; return num; }

8. 更新位

步驟:清位+設位

public static int updateBit(int num, int i, int w) { int temp = ~(1 << i); num = num & temp; w = w << i; num = num | w; return num; }

以上8種基本運算非常重要,每位想要掌握位運算的朋友,上面的基本運算都需要非常熟練的掌握


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美性猛交乱大交xxxx | 午夜影院在线观看视频 | 国产精品久久99 | 久久国产三级 | 国产精品欧美一区二区三区 | 波多野衣结在线精品二区 | 性欧美在线 | 亚洲日韩欧美综合 | 欧美美女free | 亚洲一区二区三区四区在线观看 | 亚洲日韩欧美一区二区在线 | 精品免费久久久久久久 | 在线免费视频a | 午夜a级 | 视频h在线 | 欧美黑人ⅹxxx片 | 欧洲高清| 美女啪视频 | 色吊丝永久在线观看最新 | 黄色毛片播放 | h网站在线观看 | 色欧美亚洲| 欧美精品国产精品 | 国产三区视频 | 精品一区二区三区四区五区 | 欧美日韩一区二区三区麻豆 | 真人毛片免费全部播放完整 | 在线视频网站 | 国产精品久久久久久久久 | 最近手机中文字幕大全4 | 99久久精品费精品国产一区二 | 中日韩欧美在线观看 | 色尼玛亚洲综合 | 亚洲视频在线观看地址 | 就要精品综合久久久久五月天 | 久久精品国产一区二区 | 成人国产在线不卡视频 | 一级做a爰片性色毛片2021 | 成人在激情在线视频 | 99精品欧美一区二区三区 | 视频一区二区国产无限在线观看 |