www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > 架構(gòu)師社區(qū)
[導(dǎo)讀]在計算機中,所有的數(shù)據(jù)都是以二進制的形式進行表示的,也就是說,在計算機中使用0和1來表示所有的數(shù)據(jù)。

作者個人研發(fā)的在高并發(fā)場景下,提供的簡單、穩(wěn)定、可擴展的延遲消息隊列框架,具有精準(zhǔn)的定時任務(wù)和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業(yè)提供了精準(zhǔn)定時調(diào)度方案,經(jīng)受住了生產(chǎn)環(huán)境的考驗。為使更多童鞋受益,現(xiàn)給出開源框架地址:

https://github.com/sunshinelyz/mykit-delay

PS: 歡迎各位Star源碼,也可以pr你牛逼哄哄的代碼

數(shù)據(jù)的表示

在計算機中,所有的數(shù)據(jù)都是以二進制的形式進行表示的,也就是說,在計算機中使用0和1來表示所有的數(shù)據(jù)。而我們?nèi)粘I钪械臄?shù)字都是10進制的,那我們平時使用的數(shù)字如果在計算機中表示時就需要進行進制的轉(zhuǎn)換。

進制轉(zhuǎn)換

R進制轉(zhuǎn)10進制

R進制轉(zhuǎn)10進制可以使用按權(quán)展開的方法,具體的操作就是:將R進制數(shù)的每一位數(shù)值使用R^k^表示,底數(shù)是R,指數(shù)是k。其中,k與該位和小數(shù)點之間的位置有關(guān)。當(dāng)這個位置位于小數(shù)據(jù)左邊時,k的值是從小數(shù)點向左依次數(shù)的個數(shù),需要注意的是:緊鄰小數(shù)點的數(shù)字位置為0,接下來是1,2...依次類推。同樣的,如果這個位置在小數(shù)點的右邊,則緊鄰小數(shù)據(jù)點位置的數(shù)字從-1開始,依次向右數(shù)為-2,-3等等,依此類推。

例如,我們給出一個二進制數(shù)字,11010101.01,轉(zhuǎn)換為10進制數(shù)字為:1 x 2^7^ + 1 x 2^6^ + 0 x 2^5^ + 1 x 2^4^ + 0 x 2^3^ + 1 x 2^2^ + 0 x 2^1^ + 1 x 2^0^ + 0 x 2^-1^ + 1 x 2^-2^。

注:2^7^表示2的7次方。

圖解計算機中數(shù)據(jù)的表示形式

再比如,我們給出一個八進制數(shù),76128.01,轉(zhuǎn)換為10進制數(shù)字為:7 x 8^4^ +6 x 8^3^ + 1 x 8^2^ + 2 x 8^1^ + 8 x 8^0^ + 0 x 8^-1^ + 1 x 8^-2^

圖解計算機中數(shù)據(jù)的表示形式

十進制轉(zhuǎn)R進制

十進制轉(zhuǎn)R進制就比較簡單了,這里我們可以使用短除法。

例如,將十進制數(shù)字69轉(zhuǎn)換為二進制的過程如下所示。

圖解計算機中數(shù)據(jù)的表示形式

得出短除的結(jié)果后,我們需要將余數(shù)倒過來排列即為十進制69轉(zhuǎn)換為二進制的結(jié)果,所以結(jié)果數(shù)據(jù)為:1000101。

二進制與八進制互轉(zhuǎn)

二進制轉(zhuǎn)八進制時,每三位二進制數(shù)表示一個八進制數(shù)。因為在八進制中,總共有8個基數(shù),分別是0~7,逢8進1。而如果要使用二進制來表示時,0的二進制為000,7的二進制為111,所以,每三位二進制數(shù)對應(yīng)一位八進制數(shù)。反過來,每一位八進制數(shù)對應(yīng)三位二進制數(shù)。

具體的劃分策略是,從二進制的低位開始,從低到高,也就是從右向左,每三位二進制數(shù)對應(yīng)一個八進制數(shù),不足三位的前面補0,例如,我們將二進制數(shù):10001110轉(zhuǎn)化為八進制數(shù)的過程,具體如下所示。

圖解計算機中數(shù)據(jù)的表示形式

所以,二進制數(shù)10001110轉(zhuǎn)化為八進制數(shù)的結(jié)果為216。

同理,八進制轉(zhuǎn)二進制與二進制轉(zhuǎn)八進制正好相反,八進制的每一位對應(yīng)三位的二進制數(shù)。也就是說,將八進制數(shù)的每一位轉(zhuǎn)化成三位的二進制數(shù)即可。

二進制與十六進制互轉(zhuǎn)

在十六進制表示的數(shù)字中,總共有15個基數(shù),為0~15,逢16進1。如果要將二進制數(shù)轉(zhuǎn)化為十六進制數(shù)時,首先要弄清楚每位十六進制數(shù)需要多少為二進制數(shù)表示。在十六進制中,最大的基數(shù)為15,15的二進制表示為:1111,最小的基數(shù)為0,0的二進制數(shù)為0000,也就是說,十六進制的基礎(chǔ)使用二進制表示為 0000~1111,所以,每位十六進制數(shù)需要四位二進制數(shù)表示。

從二進制數(shù)的低位開始,也就是從右側(cè)開始,每四位二進制數(shù)對應(yīng)一位十六進制數(shù)。

例如,我們需要將二進制數(shù)10001110轉(zhuǎn)換為十六進制數(shù),如下所示。

圖解計算機中數(shù)據(jù)的表示形式

注意:在十六進制中,分別使用A,B,C,D,E,F代表10,11,12,13,14,15。

所以,二進制10001110轉(zhuǎn)化為十六進制的結(jié)果為8E。

十六進制轉(zhuǎn)二進制與二進制轉(zhuǎn)十六進制正好相反,將十六進制的每一位轉(zhuǎn)換為四位二進制數(shù)即可。

數(shù)據(jù)的碼制

在計算機中,帶符號的機器數(shù)可以采用原碼、反碼、補碼和移碼表示,這些編碼稱為碼制。

原碼

在原碼表示中,最高位是符號位,0表示正號,1表示負號,其余的n-1位表示數(shù)值的絕對值,數(shù)值0的原碼有兩種表示形式: = 0 0000000, = 1 0000000。

反碼

在反碼中,最高位是符號位,0表示正號,1表示負號,正數(shù)的反碼與原碼相同,負數(shù)的反碼是其絕對值按位取反。數(shù)值0的反碼有兩種表示形式: = 0 0000000, = 1 1111111。

補碼

在補碼中,最高位是符號位,0表示正號,1表示負號,正數(shù)的補碼與原碼和反碼相同,負數(shù)的補碼等于其反碼的末位加1。在補碼的表示中,0有唯一的補碼: = 0 0000000, = 0 0000000。

移碼

移碼表示法是在數(shù)X上增加一個偏移量來定義的,常用于表示浮點數(shù)中的階碼。如果機器字長為n,規(guī)定偏移量為 2^n-1^。

實際上,在偏移 2^n-1^的情況下,只要將補碼的符號位取反就可以獲得相應(yīng)的移碼。

碼制總結(jié)

我們來看下面的表格,這里,我直接使用八位的二進制數(shù)來表示相應(yīng)的數(shù)值。

碼制 數(shù)值1 數(shù)值-1 1-1
原碼 0000 0001 1000 0001 1000 0010
反碼 0000 0001 1111 1110 1111 1111
補碼 0000 0001 1111 1111 0000 0000
移碼 1000 0001 0111 1111 1000 0000

通過表格我們發(fā)現(xiàn):

  • 正數(shù)的原碼、反碼和補碼是相同的。
  • 負數(shù)的反碼是原碼除符號位外,其他位分別取反;
  • 負數(shù)的補碼是其反碼的末位加1。
  • 移碼是在補碼的基礎(chǔ)上符號位取反得到。

在負數(shù)的原碼和補碼的轉(zhuǎn)換中,我們可以得出如下結(jié)論:

  • 負數(shù)的原碼轉(zhuǎn)補碼是在原碼的基礎(chǔ)上除符號位外,其他位取反,然后末位加1。
  • 負數(shù)的補碼轉(zhuǎn)原碼是在補碼的基礎(chǔ)上除符號位外,其他位取反,然后末位加1。

也就是說,負數(shù)的原碼轉(zhuǎn)補碼和補碼轉(zhuǎn)原碼的規(guī)則是一樣的。小伙伴們可以根據(jù)表格自行驗證

計算機使用補碼進行加減法運算

我們再來看表格的最后一列 1-1,在計算機中,表示為1+(-1),其正確的結(jié)果應(yīng)該為0。接下來,我們分別分析下使用原碼、反碼、補碼和移碼進行加減法運算的結(jié)果的正確性。

  • 表格的第一行中,使用原碼計算的結(jié)果為1000 0010,轉(zhuǎn)換為10進制數(shù)為-2,1-1不等于-2,所以,使用原碼進行加減法運算的結(jié)果是錯誤的。
  • 在反碼中,計算1-1的結(jié)果為1111 1111,顯然結(jié)果不為0,所以,使用反碼進行加減法運算的結(jié)果是錯誤的。
  • 在補碼中,計算1-1的結(jié)果為0000 0000,結(jié)果為0,所以, 使用補碼進行加減法運算的結(jié)果是正確的。
  • 在移碼中,計算1-1的結(jié)果為1000 0000,結(jié)果為-0,雖然-0也等于0,但是嚴格意義來講,這個結(jié)果是不正確的。

在計算機中,不會使用移碼進行加減法運算,移碼用于浮點數(shù)的階碼。


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉