数制
數(shù)制也稱計(jì)數(shù)制,是用一組固定的符號(hào)和統(tǒng)一的規(guī)則來表示數(shù)值的方法。任何一個(gè)數(shù)制都包含如下基本概念:數(shù)碼、基數(shù)、數(shù)位、位數(shù)、位權(quán)和計(jì)數(shù)單位。不同數(shù)制間可以進(jìn)行進(jìn)制轉(zhuǎn)換。計(jì)算機(jī)中最常見的數(shù)制有二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)制,生活中最熟悉的則是十進(jìn)制數(shù)制。當(dāng)然,十進(jìn)制數(shù)制在編寫代碼時(shí),常用于表示數(shù)值大小。
以十進(jìn)制數(shù)制為例,介紹數(shù)制的相關(guān)基本概念。
數(shù)碼指數(shù)制中用于表示基本數(shù)值大小的不同數(shù)字符號(hào)。十進(jìn)制有 10 個(gè)數(shù)碼,分別為 0,1,2,3,4,5,6,7,8,9。
基數(shù)指數(shù)制所使用數(shù)碼的個(gè)數(shù)。十進(jìn)制的基數(shù)為 10。
數(shù)位指一個(gè)數(shù)中數(shù)碼所占的位置。例如十進(jìn)制整數(shù) 520,從右至左,0 的數(shù)位是個(gè)位、2的數(shù)位是十位,5 的數(shù)位是百位。
位數(shù)指的是數(shù)中數(shù)位的個(gè)數(shù)。例如十進(jìn)制整數(shù) 520 有三個(gè)數(shù)位,所以位數(shù)為 3。
位權(quán)指的是數(shù)制中某一數(shù)位上的 1 所表示數(shù)值的大小(所處位置的權(quán)值)。例如,十進(jìn)制整數(shù) 520,從右至左,0 的位權(quán)是 1,2 的位權(quán)是10,5 的位權(quán)是 100。
計(jì)數(shù)單位指的是數(shù)值中對(duì)位權(quán)的稱謂。對(duì)于十進(jìn)制整數(shù) 520,從右至左,0 的位權(quán)是 1,計(jì)數(shù)單位是個(gè),2 的位權(quán)是 10,計(jì)數(shù)單位是十,5 的位權(quán)是100,計(jì)數(shù)單位是百,后面還有千、萬(wàn)、十萬(wàn)、百萬(wàn)、千萬(wàn)、億、十億、百億、千億……,這些都是計(jì)數(shù)單位。有了計(jì)數(shù)單位,我們就可以將 520 讀作“五百二十”。計(jì)數(shù)單位與位權(quán)的區(qū)別在于,位權(quán)是對(duì)計(jì)算單位的量化,計(jì)數(shù)單位是對(duì)位權(quán)的表述。
生活中除了常用的十進(jìn)制數(shù)制,也使用形形色色的進(jìn)制。在新中國(guó)成立之前,重量單位一直采用的是半斤等于八兩的換算,以前從兩到斤,采用的是16 進(jìn)制,16 兩為 1 斤,那時(shí)候半斤和八兩是同一個(gè)意思,所以有“半斤八兩”這一成語(yǔ)。新中國(guó)成立之后,為與國(guó)際接軌又考慮使用習(xí)慣,將一斤改為 10 兩,一公斤定為 1kg。時(shí)間上,使用 60 進(jìn)制,每 60 秒為一分鐘,每 60 分鐘為 1 小時(shí)。從小時(shí)到天則使用 24 進(jìn)制,每 24 小時(shí)為 1天。從天到星期,采用的是 7 進(jìn)制,7 天為 1 星期,從月到年,采用的是12 進(jìn)制,12 個(gè)月為 1 年,等等。
對(duì)于計(jì)算機(jī)而言,則使用二進(jìn)制對(duì)數(shù)據(jù)進(jìn)行表示,而不是人類使用的 10 進(jìn)制。其理由主要有以下四點(diǎn):
(1)電路簡(jiǎn)單。實(shí)現(xiàn)二進(jìn)制存儲(chǔ)和運(yùn)算的邏輯電路比較簡(jiǎn)單,容易使用開關(guān)電路(或邏輯電路)來實(shí)現(xiàn)。
(2)可靠性高。2 進(jìn)制只有 0 和 1 兩個(gè)數(shù)碼,數(shù)據(jù)的傳送和處理都不容易出錯(cuò)。用電路實(shí)現(xiàn) 2 進(jìn)制運(yùn)算時(shí),電路可靠,抗干擾能力強(qiáng)。
(3)運(yùn)算簡(jiǎn)單。2進(jìn)制的運(yùn)算規(guī)則簡(jiǎn)單,不論加法規(guī)則還是乘法規(guī)則,都比較簡(jiǎn)單,從而簡(jiǎn)化實(shí)現(xiàn)運(yùn)算規(guī)則的電路邏輯,提高運(yùn)算速度。相對(duì)而言,10進(jìn)制的運(yùn)算規(guī)則要復(fù)雜很多,例如九九乘法表就是10進(jìn)制的乘法規(guī)則。
(4)邏輯性強(qiáng)。邏輯代數(shù)中的值只有“真”和“假”,使用2進(jìn)制十分容易表示邏輯值并實(shí)現(xiàn)邏輯運(yùn)算。
在書寫代碼時(shí),C++ 中不同進(jìn)制的數(shù)值表示方法如下:
| 二進(jìn)制 | C++14 開始支持直接書寫二進(jìn)制數(shù),數(shù)值前加 0b 或 0B | uint8_t a = 0b00010001; uint8_t a = 0B00010001; |
| 八進(jìn)制 | 數(shù)值前加零 | uint8_t a = 021; |
| 十進(jìn)制 | 直接書寫 | uint8_t a = 17; |
| 十六進(jìn)制 | 數(shù)值前加0x或0X | uint8_t a = 0x11; uint8_t a = 0X11; |
參考文獻(xiàn)
[1] 數(shù)制.百度百科
[2] 數(shù)位.百度百科
[3] 數(shù)制與編碼
[4] C++14.百度百科
總結(jié)
- 上一篇: Windows 中通过sh导入csv、t
- 下一篇: 电子数据检验专用计算机价格,GPCGPC