我們平時使用的數(shù)字都是由 0~9 共十個數(shù)字組成的,例如 1、9、10、297、952 等,一個數(shù)字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多個數(shù)字組合起來。
例如表示 5+8 的結(jié)果,一個數(shù)字不夠,只能”進位“,用 13 來表示;這時”進一位“相當(dāng)于十,”進兩位“相當(dāng)于二十。
因為逢十進一(滿十進一),也因為只有 0~9 共十個數(shù)字,所以叫做十進制(Decimalism)。十進制是在人類社會發(fā)展過程中自然形成的,它符合人們的思維習(xí)慣,例如人類有十根手指,也有十根腳趾。
進制也就是進位制。進行加法運算時逢X進一(滿X進一),進行減法運算時借一當(dāng)X,這就是X進制,這種進制也就包含X個數(shù)字,基數(shù)為X。十進制有 0~9 共10個數(shù)字,基數(shù)為10,在加減法運算中,逢十進一,借一當(dāng)十。
二進制
我們不妨將思維拓展一下,既然可以用 0~9 共十個數(shù)字來表示數(shù)值,那么也可以用0、1兩個數(shù)字來表示數(shù)值,這就是二進制(Binary)。例如,數(shù)字 0、1、10、111、100、1000001 都是有效的二進制。
在計算機內(nèi)部,數(shù)據(jù)都是以二進制的形式存儲的,二進制是學(xué)習(xí)編程必須掌握的基礎(chǔ)。本節(jié)我們先講解二進制的概念,下節(jié)講解數(shù)據(jù)在內(nèi)存中的存儲,讓大家學(xué)以致用。
二進制加減法和十進制加減法的思想是類似的:
對于十進制,進行加法運算時逢十進一,進行減法運算時借一當(dāng)十;
對于二進制,進行加法運算時逢二進一,進行減法運算時借一當(dāng)二。
下面兩張示意圖詳細演示了二進制加減法的運算過程。
1) 二進制加法:1+0=1、1+1=10、11+10=101、111+111=1110
圖1:二進制加法示意圖
2) 二進制減法:1-0=1、10-1=1、101-11=10、1100-111=101
圖2:二進制減法示意圖
八進制
除了二進制,C語言還會使用到八進制。
八進制有 0~7 共8個數(shù)字,基數(shù)為8,加法運算時逢八進一,減法運算時借一當(dāng)八。例如,數(shù)字 0、1、5、7、14、733、67001、25430 都是有效的八進制。
下面兩張圖詳細演示了八進制加減法的運算過程。
1) 八進制加法:3+4=7、5+6=13、75+42=137、2427+567=3216
圖3:八進制加法示意圖
2) 八進制減法:6-4=2、52-27=23、307-141=146、7430-1451=5757
圖4:八進制減法示意圖
十六進制
除了二進制和八進制,十六進制也經(jīng)常使用,甚至比八進制還要頻繁。
十六進制中,用A來表示10,B表示11,C表示12,D表示13,E表示14,F(xiàn)表示15,因此有 0~F 共16個數(shù)字,基數(shù)為16,加法運算時逢16進1,減法運算時借1當(dāng)16。例如,數(shù)字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六進制。
注意,十六進制中的字母不區(qū)分大小寫,ABCDEF 也可以寫作 abcdef。
下面兩張圖詳細演示了十六進制加減法的運算過程。
1) 十六進制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11
圖5:十六進制加法示意圖
2) 十六進制減法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF
圖6:十六進制減法示意圖
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7108瀏覽量
89299 -
存儲
+關(guān)注
關(guān)注
13文章
4339瀏覽量
86005 -
二進制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41705
原文標(biāo)題:進制詳解:二進制、八進制和十六進制
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論