黑馬程式設計師 c語言基礎 進製的轉換

2021-07-02 14:24:49 字數 1679 閱讀 2144

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語言提供的有特殊含義的符號,也叫做 保留...