1.計算機中的進製
常見的進製:
1)十進位制0、1、2、3、4、5、6、7、8、9 逢十進一。
2)二進位制0、1 逢二進一。書寫形式:需要以0b或0b開頭,比如0b101。
3)八進位制0、1、2、3、4、5、6、7 逢八進一。書寫形式:前面加個0,比如045。
4)十六進製制0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f 逢十六進一。書寫形式:在前面加個0x或者0x,比如0x45。 例:
定義乙個10進製數,列印出對應的10、8、16進製制數。
#include
int main(int argc, const
char * argv)
2.原碼反碼補碼的概念
原碼:乙個數的絕對值的二進位制表示,如果是正數,符號位(最高位)為
0;如果是負數,符號位改為1。
反碼:正數的反碼等於它的原碼。負數的的反碼:除符號位不變,其他位逐位取反。
補碼:正數的補碼等於它的原碼。負數的補碼為其反碼+1。
注意:
1)乙個正數的原碼、反碼、補碼都一樣。
2)資料在計算機內部是以補碼的形式儲存的。
3.位運算子介紹
位運算:用於整數的二進位制位之間的運算
& 按位與:如果兩個數進行&操作,同1則1,有0則0:
9 & 4
00001001
&00000100
————————————————
00000000
實用技能:要獲取乙個數的最低位,讓這個數和1進行按位&操作。
| 按位或:如果兩個數進行&操作,有1則1,同0則0:
9 | 4
00001001
|00000100
————————————————
00001101
~ 按位取反:1變0,0變1~9
00001001 ~
————————————————
11110110
^ 按位異或:相同為0,不同為1
9 ^ 4
00001001
^00000100
————————————————
00001101
>>右移:各二進位制位全部右移n位,低位丟棄,高位補符號位。
乙個數右移n位,值等於原值除以2^n
右移位不會改變乙個數的正負性。
用途:快速計算乙個數除以2的n次方。
《左移:各二進位制位全部左移n位,高位丟棄,低位補0
記憶技巧:向左移動n位,相當於原數*2^n
注意:左移可能會改變乙個數的正負性
9 << 2
00001001
<<2
————————————————
00110100
位運算子應用舉例:
1)程式設計實現10進製轉2進製
#include
// 10進製轉2進製
void changeto2(int num)
}int main(int argc, const
char * argv)
2)用按位與演算法判斷乙個數的奇偶性
:#include
void jiouxing(int n) else
}int main(int argc, const
char * argv)
黑馬程式設計師 C語言基礎
ios培訓 android培訓 期待與您交流!一 c語言的流程控制 1 順序結構 按照程式的書寫順序執行每一條語句 2 選擇結構 對給定的條件進行判斷,再根據判斷結果來決定執行哪一段 2.1 if語句 1 if的第一種結構 if 條件 eg include int main return 0 2 i...
黑馬程式設計師 C語言基礎
asp.net unity開發 net培訓 期待與您交流!c語言算數運算子 1.2.3.4.5.int a 10,b 20 printf 兩個差 d b a printf 兩個和 d b a printf 兩個積 d b a printf 兩個商 d b a printf 兩個餘 d b a 小技巧...
黑馬程式設計師 C語言基礎
asp.net unity開發 net培訓 期待與您交流!簡介 c語言於1972年發明,首次使用是用於重寫uinx作業系統。隨著unix作業系統的成功,c語言也得到了大幅度地推廣,是世界上最流行 使用最廣泛的高階程式語言之一。基礎語法 關鍵字 1 關鍵字就是c語言提供的有特殊含義的符號,也叫做 保留...