什麼是進製?
進製也就是進製計數值,是人為定義的一種帶進製機制的計數方法,在計數時使用逢n進1的方式進行計數。
例:二進位制——逢二進一
十進位制——逢十進一
計算機為什麼使用二進位制?
1.技術上容易實現
用雙穩態電路表示二進位制數字0和1是很容易的事情。
2.可靠性高
二進位制中只使用0和1兩個數字,傳輸和處理時不易出錯,因而可以保障計算機具有
很高的可靠性。
3.運算規則簡單
與十進位制數相比,二進位制數的運算規則要簡單的多,這不僅可以使運算器的結構得到簡化,而且有利於提高執行速度。
4.與邏輯量相吻合
二進位制數0和1正好與邏輯量「真」和「假」相對應,因此二進位制數表示二值邏輯顯得十分自然。
5.二進位制與十進位制數之間的轉換相當容易
人們使用計算機時可以仍然使用自己所習慣的十進位制數,而計算機將其自動轉換為二進位制數儲存和處理,輸出處理結果時又將二進位制數自動轉換成十進位制數,這給工作帶來極大的方便。
2/8/10/16進製制舉例
二進位制(逢二進一):0、1、101、1100
八進位制(逢八進一):17、21、33、41
十進位制(逢十進一):1、12、33、4、5、6、99
十六進製制(逢十六進一):9、a、b、c、d、e、f、3f、10
進製包含的數字:n進製包含n個數字,如二進位制只有1,0兩個數字,十進位制有0,1,2,3,4,5,6,7,8,9,十個數字。其中十六進製制從9往後數依次是a=10,b=11,c=12,d=13,e=14,f=15.
進製轉換
十進位制轉二進位制
方法一:666=512+128+16+8+2=
方法二:輾轉相除法,十進位制轉八進位制,十進位制轉十六進製制同理
二進位制轉十進位制
1 1 0 1
從右往左分別是2的0次方、2的一次方、2的二次方、2的三次方。
其中2的一次方位上為0,所以不參與運算
故轉換結果為8+4+1=13.
八進位制轉換為二進位制(口訣:記住一二四,一位拆三位)
例:八進位制126轉換為二進位制。
首先進行拆分,126可以拆分為1、2、6.
之後對每一位進行換算,比如1就等於001,2等於010,6等於110,所以轉換結果為001010110。
同理二進位制轉換為八進位制則將二進位制每三位合成一位之後組合。
十六進製制轉換為二進位制(口訣:記住一二四和八,一位拆分成四位)
例:十六進製制1a2f轉換為二進位制
首先進行拆分,1a2f可以拆分為1、a、2、f。
之後對每一位進行換算,比如1就等於0001,a等於1010,2等於0010,f等於1111.所以轉換結果為0001 1010 0010 1111。
同理二進位制轉換為十六進製制則將二進位制每四位合成一位後組合。
原碼,反碼,補碼
如何用二進位制表示負數?
一般每8位二進位制的頭一位表示符號,0表示整數,1表示負數。
例:0 111 1111 表示127
1 111 1111 表示-127
其中正數的原碼、反碼、補碼都是一樣的。
負數的原碼、反碼、補碼
例:原碼 1 111 1111
負數的反碼 1 000 0000 符號位不變,原碼其他位取反。
負數的補碼 1 000 0001 符號位不變,反碼+1。
(原碼、反碼、補碼解決了座標軸出現正負0的問題,所以正數的範圍比負數的範圍少1,例:byte的取值127~-128)
C 程式設計基礎
在軟體開發步驟中,我認為流程圖扮演著乙個非常重要的重要,就像我覺得我們學英語學語法一樣,其真正的目的在於訓練我們的邏輯思維,而只有將乙個程式的演算法用流程圖算出來,那麼我們接下來的工作就會簡單很多。而我們也要了解編制程式,只有了解整個c語言程式的編譯過程我們才能更深層次地了解程式的執行機制 源 通過...
C 程式設計基礎
萬能標頭檔案 include中包括了c 中很多庫,基本上可以滿足程式設計中用的庫呼叫。萬能模板 include using namespace std intmain 多組讀入 while scanf d d n,s eof cin與cout為流輸入輸出。需要同步,當資料量很大時,比較耗時。cin與...
c 程式設計基礎
c 程式設計基礎 一 資料型別 值型別 基本 結構列舉 引用型別 1.基本值型別 整型 int 實型 單精度 float 雙精度 double 小數型 decime 布林型 bool 字元型 char 字串型 string 日期型 datetime 整型 byte short int long 實型...