回到目錄
位運算無論在c#,vb還是在t-sql裡都有對它支援,位運算即對數值型別的每位進行計算,對於程式裡,你可以使用十進位制,十六進製制,二進位制對它進行位運算,事實上無論你使用哪種進製,對於計算機來說最後都為把它轉換成二進位制(0,1)的形式,因為二進位制為簡單,呵呵。
下面是關於位運算的**
運算符號
位運算操作符
運算物件型別
運算結果型別
物件運算元例項~
非運算
整型整型
1個~x
&與運算
2個x & y
|或運算
2個x | y
^異或運算
2個x ^ y
<<
左移運算
2個x << 2
>>
右移運算
2個x >> 2
一般地,這種位運算中,我們的運算元多用於2的n次方的結果,如0,2,4,8,16,32,64,128...,為什麼呢,因為這些數字在轉換成二進位制後都很
特別,看一下**,呵呵
1 1
2 10
4 100
8 1000
16 10000
32 100000
64 1000000
128 10000000
看到時了它,它們只是在最高位是為1,而其它位上都是0,這樣對於這些數字在進行位運算時,會有一些性質,我來總結一下:
對於滿足2的n次方的十進位制數字有以下運算特性:
1 與運算可以用來判斷某個數是位在另外乙個數中存在:
10 & 2//結果為2,大於0表示運算元2在運算元1中存在 10=8+2
2 或運算可以用來將兩個數相加在一起
8 | 2//結果為10,10 | 2 結果還是10,你可以把它轉換為二進位製看一下,(1000 | 10 為1010,而1010 | 10 結果還是1010 ))呵呵,而10|4結果為14
3 非運算和與運算在一起使用,可以將乙個元素從乙個集合裡去除
4 & (~2) //結果為4,4裡不包含2,所以直接返回原值4
3 & (~2) //
結果為1,3由1和2組成,所以去掉2後原值變為1
4 左移運算,每移1位相當於乘2
4<< 2
//結果為16
5 右移去處,每移1位相當於除2
4 >> 2//結果為1
總結:有時候,我們在書本上看到的及網路上看到的東西,不一定是正確的,有時,要求我們自己開啟電腦去驗證一下,呵呵!
有時候,程式設計的東西,很多時候當你把十進位制變成二進位制後會,就海闊天空了,呵呵!
回到目錄
基礎才是重中之重 方法override詳解
回到 目錄 方法的override,即方法的覆寫或者重寫,有時還是習慣叫它英文override,它是指將父類的abstract或者virtual方法進行重新設計,可以將新的功能加入其中,看起來很不錯,但在使用過程中,有時我們可能拿不準它,下面我說幾點 一 父類是抽象類,這時,它的例項化需要通過子類來...
基礎才是重中之重 執行緒安全的Hashtable
執行緒安全就是多執行緒訪問時 web網頁多使用者訪問乙個頁面時 採用了加鎖機制,當乙個執行緒訪問該類的某個資料時,進行保護,其他執行緒不能進行訪問直到該執行緒讀取完,其他執行緒才可使用。不會出現資料不一致或者資料汙染。hashtable 表示鍵 值對的集合,這些鍵 值對根據鍵的雜湊 進行組織,它的k...
基礎才是重中之重 執行緒安全的Hashtable
執行緒安全就是多執行緒訪問時 web網頁多使用者訪問乙個頁面時 採用了加鎖機制,當乙個執行緒訪問該類的某個資料時,進行保護,其他執行緒不能進行訪問直到該執行緒讀取完,其他執行緒才可使用。不會出現資料不一致或者資料汙染。hashtable 表示鍵 值對的集合,這些鍵 值對根據鍵的雜湊 進行組織,它的k...