- x86匯編與逆向工程:軟件破解與防護(hù)的藝術(shù)
- (美)斯蒂芬妮·多馬斯 (美)克里斯托弗·多馬斯
- 797字
- 2025-02-10 16:05:42
2.3.1 數(shù)字系統(tǒng)的基數(shù)
計(jì)數(shù)系統(tǒng)中的基數(shù)定義了用于表示數(shù)字的符號(hào)數(shù)量。大多數(shù)人都在基數(shù)為10的系統(tǒng)下進(jìn)行數(shù)學(xué)計(jì)算,這個(gè)系統(tǒng)的符號(hào)是0、1、2、3、4、5、6、7、8和9。
然而,這并不是唯一的選擇。只要有足夠的符號(hào)來表示值,就可以使用任何基數(shù)。例如,五進(jìn)制(基數(shù)為5)使用0~4的符號(hào),而八進(jìn)制(基數(shù)為8)使用0~7的符號(hào)。
提示:數(shù)字的基數(shù)可以用下標(biāo)表示。例如,1010是寫成十進(jìn)制(基數(shù)為10)的數(shù)字,而102則是寫成二進(jìn)制(基數(shù)為2)的數(shù)字。
對(duì)于大于10的基數(shù),我們也會(huì)使用字母作為符號(hào)。例如,十一進(jìn)制就會(huì)增加字母a,那么就會(huì)有以下這些符號(hào):0、1、2、3、4、5、6、7、8、9和a。十六進(jìn)制則會(huì)用到這些符號(hào):0、1、2、3、4、5、6、7、8、9、a、b、c、d、e和f。
提示:在十六進(jìn)制中,字母的大小寫無關(guān)緊要,所以a和A都代表十進(jìn)制數(shù)值10。
在每個(gè)進(jìn)制中,我們都需要有能力表示比基數(shù)更大的數(shù)值。為了做到這一點(diǎn),我們使用多位數(shù)。
計(jì)算機(jī)是二進(jìn)制系統(tǒng),它們利用1和0進(jìn)行所有的數(shù)據(jù)存儲(chǔ)和處理操作。但是,這種方式效率不高,寫起來很麻煩。例如,201410的值等同于111110111102。
雖然計(jì)算機(jī)使用的是二進(jìn)制,但為了方便閱讀,工具經(jīng)常會(huì)用十六進(jìn)制來顯示數(shù)值。十六進(jìn)制的數(shù)值可能以以下幾種方式表示:下標(biāo)方式(1d16)、前綴方式(0x1d)或后綴方式(1dh)。
十六進(jìn)制的一個(gè)優(yōu)點(diǎn)是,它的數(shù)值是2的冪。這意味著可以通過字符替換便捷地將值在二進(jìn)制和十六進(jìn)制之間轉(zhuǎn)換。圖2.1展示了每個(gè)十六進(jìn)制符號(hào)如何映射到十進(jìn)制和二進(jìn)制。

圖2.1 十六進(jìn)制符號(hào)與十進(jìn)制和二進(jìn)制的映射
例如,我們來看一下二進(jìn)制數(shù)值111110111102。每一個(gè)十六進(jìn)制位都表示四個(gè)二進(jìn)制位,因此,這個(gè)數(shù)值可以從右向左分成三組:111、1101和1110。根據(jù)圖2.1,我們可以看出這三組分別等于十六進(jìn)制的數(shù)字7、d和e,所以,整個(gè)數(shù)值可以用0x7de來表示。

雖然這些進(jìn)制轉(zhuǎn)換可以手動(dòng)完成,但使用工具通常更快且更準(zhǔn)確。圖2.2展示了使用Windows計(jì)算器進(jìn)行進(jìn)制轉(zhuǎn)換的示例。
- VMware vSphere 7.0云平臺(tái)運(yùn)維與管理(第2版)
- 從零基礎(chǔ)到精通Flutter開發(fā)
- 一線架構(gòu)師實(shí)踐指南
- 軟件工程理論與應(yīng)用
- 結(jié)構(gòu)BIM應(yīng)用教程
- Swift權(quán)威指南
- 搜索引擎與程序化廣告:原理、設(shè)計(jì)與實(shí)戰(zhàn)
- 敏捷軟件開發(fā):用戶故事實(shí)戰(zhàn)
- Python跨平臺(tái)應(yīng)用軟件開發(fā)實(shí)戰(zhàn)
- 微服務(wù)架構(gòu)原理與開發(fā)實(shí)戰(zhàn)
- 全棧Monorepo開發(fā)實(shí)戰(zhàn)(Vue 3+Fastify+Deno+pnpm)
- 構(gòu)建跨平臺(tái)APP:jQuery Mobile移動(dòng)應(yīng)用實(shí)戰(zhàn)(第2版) (跨平臺(tái)移動(dòng)開發(fā)叢書)
- 芯片改變世界
- Spring Boot+Vue 3大型前后端分離項(xiàng)目實(shí)戰(zhàn)
- HTML5游戲編程核心技術(shù)與實(shí)戰(zhàn)