免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
位運算及其妙用

程序中的所有數(shù)在計算機內(nèi)存中都是以二進制的形式儲存的,即只有0和1兩種數(shù)值,位運算就是直接對整數(shù)在內(nèi)存中的二進制位進行。

1 <<(向左位移)

運算規(guī)則:a<<b,表示a轉(zhuǎn)為二進制后左移b位,左移后,空位補0。

例:

3: 00000000 00000000 00000000 00000011 // 左移2位,空位補2個0 3<<2: 00000000 00000000 00000000 00001100

所以,3<<2 = 12

規(guī)律:a左移b位,就是a乘以2的b次方。

2 >>(向右位移)

運算規(guī)則:a>>b,表示a轉(zhuǎn)為二進制后右移b位,右移后,最高位是0,則空缺位補0;最高位是1,則空缺位補1。

例:

 4: 00000000 00000000 00000000 00000100 // 右移1位。右移后,最高位是0,則空缺位補0;最高位是1,則空缺位補1 4>>1 00000000 00000000 00000000 00000010

所以,4 >> 1 = 2

規(guī)律:a右移b位,就是a除以2的b次方。

3 &(與運算)

運算規(guī)則:相同位的兩個數(shù)字都為1,則為1;若有一個不為1,則為0。

例:

5: 00000000 00000000 00000000 00000101 6: 00000000 00000000 00000000 00000110 5&6: 00000000 00000000 00000000 00000100

所以,5&6 = 4

4 |(或運算)

運算規(guī)則:相同位只要有一個為1即為1。

例:

 5: 00000000 00000000 00000000 00000101 6: 00000000 00000000 00000000 00000110 5|6: 00000000 00000000 00000000 00000111 

所以,5|6 = 7

5 ^(異或運算)

運算規(guī)則:針對二進制位,如果某位不同則該位為1, 否則該位為0。

例:

5: 00000000 00000000 00000000 00000101 6: 00000000 00000000 00000000 00000110 5^6: 00000000 00000000 00000000 00000011

所以,5^6 = 3

6 ~(取反運算)

運算規(guī)則:對二進制各位數(shù)進行取反,即1變成0,0變成1。

例:

 5: 00000000 00000000 00000000 00000101 ~5: 11111111 11111111 11111111 11111010 // 補碼形式 11111111 11111111 11111111 11111001 // 反碼 10000000 00000000 00000000 00000110 // 原碼

所以,~5 = -6

位運算的一些妙用

  • 在不使用第三個變量的情況下,如何交換兩個變量的值?

常規(guī)操作:

void swap(int a, int b) { int temp = a; a = b; b = temp; }

騷操作:

 void swap(int a, int b) { a^=b; b^=a; a^=b; }
  • 判斷奇偶

常規(guī)操作:

if (a%2 == 0) { System.out.println('偶數(shù)'); } else { System.out.println('奇數(shù)'); }

騷操作:

	if ((a&1) == 0) {		System.out.println('偶數(shù)');	} else {		System.out.println('奇數(shù)');	}
  • 求平均數(shù)

常規(guī)操作:

int average(int x, int y) { return (x+y)/2; }

騷操作:

 int average(int x, int y) {  return (x&y)+((x^y)>>1);  } 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java位運算
Java 位運算符
java 位運算 和實際應(yīng)用
JAVA_基礎(chǔ)邏輯運算符與位運算符使用
在Java中各種類型運算符的介紹與其基本使用方式(有具體使用示例)
按位與、或、異或等運算方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服