位運算子除按位與、按位或運算子外,其它只能用於處理整數的操作。位運算是完全針對位方面的操作。
1、「按位與」運算
「按位與」運算的運算子為「&
」,「按位與」運算的運算法則是:如果兩個整型資料a、
b對應為都是
1,則結果位才是
1,否則為
0。如果兩個運算元的精度不同,則結果的精度與精度高的運算元相同。
2、「按位或」運算
「按位或」運算的運算子是「|
」,「按位或」運算的運算法則是:如果兩個運算元對應為都是
0則結果是
0,否則為
1。如果兩個運算元的精度不同,則結果的精度與精度高的運算元相同。
3、「按位取反」運算
「按位取反」運算也稱按位「非」運算,運算子為「~
」,為單目運算子。「按位取反」運算就是將運算元二進位制中的
1修改為0,
0修改為1。
4、「按位異或」運算子
「按位異或」運算子是「^
」,「按位異或」運算的運算法則是:當兩個運算元的二進位制表示相同(同為
0或同為
1),結果為
0,否則為
1。若兩個運算元精度不同,則結果數的精度與精度高的運算元相同。
5、可以對資料按二進位制位進行移位操作。c#
中的移位運算子有以下兩種。
<<
:左移。
>>
右移。
對於x《或
x>>n
形式的運算,含義是將
x向左或向右移動
n位,得到的結果型別與
x相同。在此處,
x的型別只能是
int、
uint
、long
或ulong,n
的型別只能是
int,或者顯示轉換為這些型別之一,否則,編譯程式的時候,會出現語法錯誤。具體執行時,左移就是將左邊的運算元在記憶體中的二進位制資料左移右邊運算元指定的位數,右邊移空的部分補零。右移則複雜一些,當使用「
>>
」符號時,如果高位時
0,左移空的位就輸入
0;如果最高位是
1,左移空的位就輸入1。
移位可以實現整數除以或乘以2的n
次方的效果。
學習筆記42
程序和執行緒 現代作業系統比如mac os x,unix,linux,windows等,都是支援 多工 的作業系統。多工 簡單地說,就是作業系統可以同時執行多個任務。單核cpu執行多工 作業系統輪流讓各個任務交替執行,任務1執行0.01秒,切換到任務2,任務2執行0.01秒,再切換到任務3,執行0....
c語言學習筆記42
在某些場合,要求輸入乙個字串,如果是大小寫無關的,問題就來了,比如,在大小寫無關意義下,ab ab ab ab 都是等價的,這僅僅是兩個字母的情況,如果字母更多,情況更複雜,在程式中去一一判斷也很不現實,為此,c標準庫提供了字串處理函式strupr,用於將字串中所有的字母都轉換成大寫形式,其原型為 ...
c 學習筆記8
運算子和表示式引入 由運算子和運算物件組成的式子稱為表示式。表示式的結果除了確定的值之外,還有確定的資料型別 c 運算子常用分類 根據運算性質 算術運算子 自增和自減 賦值運算子 關係運算子 邏輯運算子 根據運算物件個數 單目運算子 乙個運算物件 如 取相反 等。雙目運算子 兩個運算物件 如 等。三...