您好,登錄后才能下訂單哦!
關(guān)于根底單薄的讀者,本節(jié)的內(nèi)容能夠略顯流暢和單調(diào),假如認(rèn)為費(fèi)勁,可以臨時(shí)跳過(guò),用到的時(shí)分再來(lái)瀏覽。然則本節(jié)所講的內(nèi)容是進(jìn)修編程的根底,是程序員的根本功,即便如今不學(xué),遲早也要回來(lái)學(xué)。
后面兩節(jié)對(duì)二進(jìn)制、八進(jìn)制和十六進(jìn)制停止了闡明,接下來(lái)講一下分歧進(jìn)制之間的數(shù)字是若何轉(zhuǎn)換的,這在編程中常常會(huì)用到,特別是C言語(yǔ)。
二進(jìn)制、八進(jìn)制和十六進(jìn)制向十進(jìn)制轉(zhuǎn)換多是十分輕易的,就是“按權(quán)相加”。
所謂“權(quán)”,也即“位權(quán)”。例如,十進(jìn)制第1位的位權(quán)為100=1,第2位的位權(quán)為101=10,第3位的位權(quán)為102=100;而二進(jìn)制第1位的位權(quán)為20=1,第2位的位權(quán)為21=2,第3位的位權(quán)為22=4。設(shè)數(shù)字所采取的進(jìn)制為N(基數(shù)也是N),那么第 i 位的位權(quán)為 N(i-1)。
分歧進(jìn)制轉(zhuǎn)換為十進(jìn)制舉例:
二進(jìn)制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9
二進(jìn)制:101.1001 = 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625
八進(jìn)制:0302 = 3×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194
八進(jìn)制:0302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375
十六進(jìn)制:0Xea7 = 14×162 + 10×161 + 7×160 = 3751
上節(jié)的表格中給出了復(fù)雜的十進(jìn)制和二進(jìn)制的轉(zhuǎn)換關(guān)系,要想取得更多的轉(zhuǎn)換關(guān)系,可以運(yùn)用輾除法。輾除法也就是“除模取余”法。除模取余就是將一個(gè)幾進(jìn)制的數(shù)轉(zhuǎn)化成另一個(gè)進(jìn)制時(shí), 另一個(gè)進(jìn)制的基數(shù)就是模,用將要轉(zhuǎn)化的進(jìn)制數(shù)除以模,取它的余數(shù)。
下圖以十進(jìn)制的“19”轉(zhuǎn)換為二進(jìn)制為例停止解說(shuō):
圖1:19 轉(zhuǎn)換為二進(jìn)制
如圖所示,以2為除數(shù),不斷相除下去,直到商為0,余數(shù)則為求得的二進(jìn)制數(shù)。
留意:余數(shù)要倒序陳列,也就是說(shuō),最先求得的余數(shù)排在二進(jìn)制的最初面,最初求得的余數(shù)排在二進(jìn)制的最后面。下面的例子中,最初求得的二進(jìn)制數(shù)為 10011。
固然其他進(jìn)制也可以依照輾除法來(lái)轉(zhuǎn)換,然則比擬費(fèi)事,下面引見更復(fù)雜的辦法。
二進(jìn)制向八進(jìn)制的轉(zhuǎn)換是每三位二進(jìn)制數(shù)轉(zhuǎn)換為一位八進(jìn)制數(shù),運(yùn)算的次序是從低位向高位順次停止,高位缺乏三位用零彌補(bǔ)。以二進(jìn)制“1011101”為例,如下圖所示:
圖2:二進(jìn)制轉(zhuǎn)八進(jìn)制
轉(zhuǎn)換的后果為:1011101 = 0135
八進(jìn)制向二進(jìn)制轉(zhuǎn)換的思緒是八進(jìn)制的一位轉(zhuǎn)換為二進(jìn)制的三位,運(yùn)算的次序是從低位向高位順次停止。異樣以八進(jìn)制“0135”為例,如下圖所示:
圖3:八進(jìn)制轉(zhuǎn)二進(jìn)制
轉(zhuǎn)換的后果為:0135 = 1011101
二進(jìn)制向十六進(jìn)制轉(zhuǎn)換時(shí),四位轉(zhuǎn)換成十六進(jìn)制的一位,運(yùn)算的次序是從低位向高位順次停止,高位缺乏四位用零補(bǔ)。以“1110011”轉(zhuǎn)換成十六進(jìn)制為例,如下圖所示:
圖4:二進(jìn)制轉(zhuǎn)十六進(jìn)制
轉(zhuǎn)換的后果為:1001011101 = 0X25D
十六進(jìn)制向二進(jìn)制轉(zhuǎn)換,就是把十六進(jìn)制的一位轉(zhuǎn)換成二進(jìn)制的四位,留意運(yùn)算的次序是從低位向高位順次停止。異樣以十六進(jìn)制“0X25D”為例,如下圖所示:
圖5:十六進(jìn)制轉(zhuǎn)二進(jìn)制
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。