中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

基(ji)礎(chu)才是重中之重~位的運算

回到目錄

位運算無(wu)論(lun)在C#,VB還是在T-SQL里(li)都(dou)有對(dui)它(ta)支持(chi),位運算即對(dui)數(shu)值類型的每位進(jin)(jin)行計(ji)算,對(dui)于程(cheng)序里(li),你可以使(shi)用十進(jin)(jin)制(zhi)(zhi),十六進(jin)(jin)制(zhi)(zhi),二(er)進(jin)(jin)制(zhi)(zhi)對(dui)它(ta)進(jin)(jin)行位運算,事實(shi)上(shang)無(wu)論(lun)你使(shi)用哪種進(jin)(jin)制(zhi)(zhi),對(dui)于計(ji)算機來說最后(hou)都(dou)為把(ba)它(ta)轉換成二(er)進(jin)(jin)制(zhi)(zhi)(0,1)的形式,因為二(er)進(jin)(jin)制(zhi)(zhi)為簡單,呵(he)呵(he)。

下面是關于位運算的表(biao)格

運算符號
位運(yun)算操作符
運(yun)算(suan)對(dui)象類(lei)型
運算結果類型
對象操作數
實例(li)
~
運算
整型(xing)
整型
1個
~x
&
運算
2個
x & y
|
運算
2個
x | y
^
異或運算
2個(ge)
x ^ y
<< 
左移運算
2個
x << 2
>> 
右移運算
2個
x >> 2

一般地(di),這種位(wei)運(yun)算(suan)中(zhong),我們的(de)(de)操作數(shu)多用(yong)于2的(de)(de)N次方的(de)(de)結(jie)果,如0,2,4,8,16,32,64,128...,為什么呢,因為這些數(shu)字(zi)在轉換成二進制后都很

特(te)別,看一下代碼,呵(he)呵(he)

1   1
2     10
4       100
8     1000
16     10000
32     100000
64     1000000
128   10000000

看到時了它,它們只是在最高位(wei)是為1,而其它位(wei)上都是0,這樣對于這些數(shu)字在進行位(wei)運(yun)算時,會有一(yi)些性質,我來總結(jie)一(yi)下:

對于滿足2的N次方的十進制數字有以下(xia)運算特(te)性:

1 與運算可以(yi)用來判斷某個數是位在(zai)另(ling)外一個數中存(cun)在(zai):

10 & 2 //結果為(wei)2,大于0表示操作數2在操作數1中存在 10=8+2

2 或(huo)運算可以用來將兩個數相加在(zai)一(yi)起(qi)

82 //結(jie)(jie)果為10,10 | 2 結(jie)(jie)果還(huan)是10,你可以把它轉換為二進(jin)制看一(yi)下,(1000 | 10 為1010,而1010 | 10 結(jie)(jie)果還(huan)是1010 ))呵呵,而10|4結(jie)(jie)果為14

3 非運算(suan)和與運算(suan)在一(yi)起使用,可(ke)以將一(yi)個元素從一(yi)個集合(he)里去除

4 & (~2) //結果為4,4里不包含2,所以(yi)直接返回原值4
3 & (~2) //結果(guo)為1,3由1和2組成,所(suo)以去掉2后原值(zhi)變為1

4 左(zuo)移(yi)運(yun)算(suan),每(mei)移(yi)1位相當于乘2

4 << 2 //結(jie)果為16

5 右移去處,每(mei)移1位相當于除2

4 >> 2 //結(jie)果為1

總結:

有(you)時候,我(wo)們(men)(men)在書本(ben)上看到的(de)及網絡上看到的(de)東(dong)西,不一定是正(zheng)確的(de),有(you)時,要求我(wo)們(men)(men)自己打(da)開電腦去驗(yan)證一下,呵呵!

有時候,編程的東西,很多(duo)時候當你把十(shi)進(jin)制變成二進(jin)制后(hou)會,就海闊天空了,呵呵!

感謝您的閱讀!

回到目錄

posted @ 2013-01-28 11:19  張占嶺  閱讀(1111)  評論(6)    收藏  舉報