在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 二進(jìn)制數(shù)及其他

            二進(jìn)制數(shù)及其他

            作者: 時(shí)間:2011-11-17 來(lái)源:網(wǎng)絡(luò) 收藏
            2 取余法來(lái)求解,則太費(fèi)時(shí)間,這里我講一種方法,命名為“8421”法,可以快速的求解 255 以內(nèi)的數(shù)據(jù)

            本文引用地址:http://www.biyoush.com/article/187198.htm

            (超過(guò) 255 的數(shù)據(jù)建議大家用計(jì)算器來(lái)求解,手算或者心算就太費(fèi)勁了。)。這個(gè)方法就是利用權(quán),一個(gè) 4

            位的,它的每一位的權(quán)恰好是 8421,如圖 3。

            128 64 32 16 8 4 2 1

            圖 3 每一位的權(quán)

            接下來(lái)我們就以一個(gè)具體的例子來(lái)說(shuō)明這種方法的使用。先看轉(zhuǎn)換為十進(jìn)制數(shù)的例子,就是 上面說(shuō)的 10110 吧,把它的每一位的權(quán)都標(biāo)出來(lái),如圖 4。

            16 8 4 2 1

            1 0 1 1 0

            圖 4 二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的例子

            我們只要把數(shù)值是 1 的位的權(quán)加起來(lái)就可以得到對(duì)應(yīng)的十進(jìn)制數(shù),即 16+4+2=22,完全一樣。但是比列

            式子快速的多了,如果熟悉了每一位的權(quán)之后我們都可以心算,快速的算出結(jié)果為 22。

            接下來(lái)講十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的例子,把十進(jìn)制數(shù) 55 轉(zhuǎn)換為二進(jìn)制數(shù)。開始運(yùn)算之前先把圖 3

            畫在草稿紙上,然后開始填 1,首先,55 在 64 和 32 之間,所以 64 處不能是 1,我們?cè)?32 處寫 1,這個(gè)

            1 的權(quán)是 32,那么我們還剩下 55-32=23,比 16 大,我們?cè)?16 的位置上寫 1,這時(shí)候我們還剩下 23-

            16=7,接著我們就可以在 4、2 和 1 的位置上分別寫一個(gè) 1,32+16+4+2+1 恰好等于 55,所以我們?cè)?其他的位置上寫 0,把這個(gè)數(shù)寫出來(lái) 110111,就得到了轉(zhuǎn)換后的二進(jìn)制數(shù)了。整個(gè)過(guò)程如圖 5 所示。

            點(diǎn)擊瀏覽下一頁(yè)

            圖 5 十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

            采用這種方法可以快速的實(shí)現(xiàn)二進(jìn)制數(shù)和十進(jìn)制數(shù)的相互轉(zhuǎn)換,這里要提醒大家一點(diǎn)了,我們只需要練習(xí)十

            進(jìn)制數(shù) 255 以內(nèi)的數(shù)據(jù)和二進(jìn)制數(shù)之間的相互轉(zhuǎn)換就可以了,太大的數(shù)據(jù)交給計(jì)算器來(lái)運(yùn)算就好了,千萬(wàn) 不要為難自己,非要去計(jì)算 52369 的二進(jìn)制數(shù),那將讓你失去許多樂趣的。相對(duì)于二進(jìn)制數(shù)來(lái)說(shuō),我們只 要能計(jì)算 8 位以內(nèi)的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)就可,超過(guò) 8 位的還是交給計(jì)算器吧。當(dāng)然了,每個(gè)人都有自 己的自由,如果某人要手工計(jì)算 32 位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)或者把一個(gè)上億的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制 數(shù),我也沒有辦法。

            在現(xiàn)實(shí)生活中,對(duì)于十進(jìn)制數(shù),我們自動(dòng)的根據(jù)數(shù)據(jù)的大小調(diào)整數(shù)位,15 有兩位有效數(shù)字,那么我

            們寫 15 就好,那么沒有人會(huì)寫成 00015 的,同樣的 369 有三位有效數(shù)字,也沒人會(huì)寫成 00369,因?yàn)?在數(shù)字的前面加 0 不改變大小,所以我們通常是省略前面的 0。但在數(shù)字電路中有另外一種情況,譬如我們 制造好了一個(gè)電路后,能表示 8 位二進(jìn)制數(shù),那么就必須制造 8 個(gè)基本元件,每個(gè)基本元件存儲(chǔ)一個(gè)二進(jìn)制 數(shù),那么表示任何一個(gè)數(shù),都是這 8 個(gè)基本元件作為一個(gè)整體來(lái)表示的,這樣就會(huì)遇到多余的 0,如表示十 進(jìn)制數(shù) 30,那么就是 00011110,前面的 0 你不能省略,因?yàn)槟悴荒苷f(shuō)最前面的 3 個(gè)元件不存儲(chǔ)數(shù)據(jù)了, 再者,電路造好之后你也不能隨便的用刀砍掉一部分。所以,在我們數(shù)字電路以及單片機(jī)課程中,一般遇到 的二進(jìn)制都是位數(shù)固定的,我們?cè)趯戇@些數(shù)據(jù)的時(shí)候一定不要省略前面的 0,那么這個(gè)固定的位數(shù)是多少呢?

            8 的倍數(shù),也就是說(shuō),一般來(lái)說(shuō)都是 8 位數(shù)一組,或者是 16 位,32 位,64 位,128 位等。

            針對(duì)單片機(jī)中二進(jìn)制位數(shù)固定這一特點(diǎn),這里有幾個(gè)名詞:位(bit),字節(jié)(Byte),字

            (Word)。其中位就是二進(jìn)制位,1 位就是一個(gè)二進(jìn)制位,稱為 1bit,簡(jiǎn)寫 1b,1 字節(jié)代表 8 個(gè)二進(jìn)制的

            位,1Byte=8bit ,1 字代表 2 個(gè)字節(jié),1Word=2Byte。Byte 可以簡(jiǎn)寫作 B,我們可以得到如下公式:

            1B=8b,1Word=2B=16b

            隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)越來(lái)越多,我們還有幾個(gè)單位,KB,MB,GB,TB,其關(guān)系為:

            1KB=1024B= 210 B

            1MB=1024KB= 220 B

            1GB=1024MB= 230 B

            1TB=1024GB=2 40 B

            2.3 十六進(jìn)制數(shù)出世

            數(shù)字電路中都用二進(jìn)制數(shù),計(jì)算機(jī)中當(dāng)然也用二進(jìn)制數(shù),而我們要與這些電路打交道,必然要會(huì)二進(jìn) 制數(shù),大家看看以下這幾個(gè)二進(jìn)制數(shù),然后抄一遍:

            第一個(gè)數(shù):00001101

            第二個(gè)數(shù):0101001110011010 的三個(gè)數(shù):11100101011100110011001011101111 第四個(gè)數(shù):

            1101010001111000001110110110111011100110000011100100010010011100

            第一個(gè)數(shù)是 8 位,寫下來(lái)沒什么太大的關(guān)系,第二個(gè)數(shù)是 16 位,仔細(xì)的看一下,抄寫也可以,第三個(gè)是32位,我想可能要非常吃力的才能寫下來(lái),也許還要多次才能正確的抄寫下來(lái),那么最后一個(gè) 64 位的,有人有勇氣面對(duì)它嗎?如果是寫滿了 0 和 1 的 20 張 A4 的紙呢,任是誰(shuí)也會(huì)崩潰的,太苦惱了,如果每天都是 看到的都是這些數(shù)字,也只有神仙才可以做得到了。這還不算,怕的就是出錯(cuò)了,滿目都是 0 和 1,稍微錯(cuò) 了一位,面目全非了,所有的工作就要重新來(lái)過(guò)。有人會(huì)說(shuō),我直接轉(zhuǎn)換成 10 進(jìn)制數(shù)來(lái)讀寫好了。但是二 進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)太繁瑣,誰(shuí)能告訴我最后一個(gè)數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)是多少呢?

            二進(jìn)制數(shù)難讀,難寫,數(shù)據(jù)位數(shù)多,寫和讀都不方便,而我們卻不能不看,不能不用,因?yàn)槲覀儾荒?/p>

            不用數(shù)字電路,也不能不用計(jì)算機(jī)。當(dāng)問(wèn)題出現(xiàn)了,我們就要解決它,于是出現(xiàn)了十六進(jìn)制。 十六進(jìn)制有十六個(gè)數(shù)碼:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn),基數(shù)是 16,

            運(yùn)算時(shí)逢十六進(jìn)一。為什么說(shuō)十六進(jìn)制數(shù)解決了二進(jìn)制數(shù)讀寫困難,也沒有十進(jìn)制數(shù)轉(zhuǎn)換繁瑣的困局呢?因 為十六進(jìn)制和二進(jìn)制數(shù)相互轉(zhuǎn)換非常簡(jiǎn)單,4 位二進(jìn)制數(shù)對(duì)應(yīng)于一位十六進(jìn)制數(shù),這樣就可以把上述冗長(zhǎng)的 二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)。上面四個(gè)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)為:

            第一個(gè)數(shù):0D 第二個(gè)數(shù):539A 的三個(gè)數(shù):E57332EF

            第四個(gè)數(shù):D4783B6EE60E449C

            當(dāng)你看到上面這組數(shù)據(jù)的時(shí)候,讀和寫的時(shí)候要輕松的多了吧,這樣我們被前面二進(jìn)制數(shù)打擊的信心 又回來(lái)了。那么你一定迫切的想知道二進(jìn)制數(shù)和十六進(jìn)制數(shù)是如何轉(zhuǎn)換的吧。好吧,我們就來(lái)講二進(jìn)制數(shù)和 十六進(jìn)制數(shù)的轉(zhuǎn)換。

            二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):4 位一組,分別轉(zhuǎn)換;

            十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):1 位轉(zhuǎn)換為 4 位,原序排列。 在進(jìn)行學(xué)習(xí)二進(jìn)制數(shù)和十六進(jìn)制數(shù)轉(zhuǎn)換之前,先看一個(gè)表格,

            表 2 十進(jìn)制數(shù)、二進(jìn)制數(shù)、十六進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系

            十進(jìn)制數(shù)

            二進(jìn)制數(shù)

            十六進(jìn)制數(shù)

            十進(jìn)制數(shù)

            二進(jìn)制數(shù)

            十六進(jìn)制數(shù)

            0

            0000

            0

            8

            1000

            8

            1

            0001

            1

            9

            1001

            9

            2

            0010

            2

            10

            1010

            A

            3

            0011

            3

            11

            1011

            B

            4

            0100

            4

            12

            1100

            C

            5

            0101

            5

            13

            1101

            D

            6

            0110

            6

            14

            1110

            E

            7

            0111

            7

            15

            1111

            F

            我們只要對(duì)照這個(gè)表格,就可以很輕松的進(jìn)行二進(jìn)制數(shù)和十六進(jìn)制數(shù)的轉(zhuǎn)換了。下面用具體的例子來(lái)說(shuō)明。

            例 1 把二進(jìn)制數(shù) 1011 0110 轉(zhuǎn)換為十六進(jìn)制數(shù)

            首先把二進(jìn)制數(shù)分組

            1011 0110

            B 6

            則二進(jìn)制數(shù) 10110110 轉(zhuǎn)換為十六進(jìn)制數(shù)就是 B6 了。更多的位數(shù)一樣的轉(zhuǎn)換。

            例 2 把二進(jìn)制數(shù) 1110 1100 0111 0010 轉(zhuǎn)換為十六進(jìn)制數(shù) 把二進(jìn)制數(shù)分組

            1110 1100 0111 0010

            E C 7 2

            轉(zhuǎn)換的結(jié)果為十六進(jìn)制數(shù) EC72

            反過(guò)來(lái),十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)則反過(guò)來(lái),直接一位變?yōu)?4 位就可以了。例如把十六進(jìn)制數(shù)

            A157 轉(zhuǎn)換為二進(jìn)制數(shù),則

            A 1 5 7

            1010 0001 0101 0111

            轉(zhuǎn)換后的結(jié)果就是 1010 0001 0101 0111。

            正因?yàn)槭M(jìn)制數(shù)和二進(jìn)制數(shù)的相互轉(zhuǎn)換不需要進(jìn)行計(jì)算,只是簡(jiǎn)單的替換就可以,所以我們?cè)诤芏?場(chǎng)合下經(jīng)常用十六進(jìn)制數(shù)來(lái)代替二進(jìn)制數(shù),在學(xué)習(xí)單片機(jī)課程的時(shí)候,經(jīng)常遇到十六進(jìn)制數(shù),所以必須掌握 十六進(jìn)制數(shù)和二進(jìn)制數(shù)的相互轉(zhuǎn)換,而且要能熟練的轉(zhuǎn)換。針對(duì)表 2,我建議大家就用 8421 法來(lái)記憶,數(shù) 字都很小,即使記不住,臨時(shí)來(lái)計(jì)算也很快的。

            二進(jìn)制數(shù)和十六進(jìn)制數(shù)能夠相互轉(zhuǎn)換,那么十進(jìn)制數(shù)和十六進(jìn)制數(shù)的相互轉(zhuǎn)換怎么做呢?十進(jìn)制數(shù)和 十六進(jìn)制數(shù)可以直接相互轉(zhuǎn)換,也可以用加權(quán)法,十六進(jìn)制數(shù)的每一位的權(quán)是 1,16,256,4096……數(shù) 據(jù)運(yùn)算量比較大,所以我們就簡(jiǎn)單的計(jì)算一下 2 位的十六進(jìn)制數(shù)和十進(jìn)制數(shù)的相互轉(zhuǎn)換,太大的數(shù)據(jù)就不要 為難自己了,用計(jì)算器吧。我的方法是先轉(zhuǎn)換為二進(jìn)制數(shù),然后再把二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),這樣手算的 速度要快些。反過(guò)來(lái),要把十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù),也是先把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),然后在轉(zhuǎn)換為 十六進(jìn)制數(shù)。

            我們現(xiàn)實(shí)生活中使用十進(jìn)制數(shù),而計(jì)算機(jī)中使用二進(jìn)制數(shù),為了讀寫的方便,我們發(fā)明了十六進(jìn)制 數(shù),并且通過(guò)上面的學(xué)習(xí)我們也知道了如何快速的在這三種進(jìn)制數(shù)據(jù)之間相互轉(zhuǎn)換,應(yīng)該沒有上面太大的問(wèn) 題了。但是還有一個(gè)問(wèn)題,大家再看一看表 2,二進(jìn)制、十進(jìn)制、十六進(jìn)制數(shù)據(jù)他們的數(shù)碼,你會(huì)發(fā)現(xiàn)數(shù)碼 有重合的部分,這就有問(wèn)題了,如果出現(xiàn)了一個(gè)數(shù)據(jù),如何知道是那種進(jìn)制的數(shù)據(jù)呢?如

            1110,145,562。可能有人會(huì)說(shuō),第一個(gè)數(shù)是二進(jìn)制數(shù),第二個(gè)和第三個(gè)數(shù)據(jù)是十進(jìn)制數(shù)。但這是錯(cuò)誤 的。就如一件衣服 200 元,如果在重慶,那么就是 200 人民幣,如果是在香港買的,那么就是 200 港元, 如果你跑到英國(guó)去買,那么可能會(huì)是 200 英鎊或者 200 歐元了,這可是不一樣的,而且差別很大。這個(gè)時(shí) 候你再來(lái)看看 1110 和 145 這兩個(gè)數(shù),到底是什么進(jìn)制的數(shù)據(jù)呢?不知道,除非做了說(shuō)明。這就是我要講 的另外一個(gè)問(wèn)題,對(duì)于任何一個(gè)數(shù)字,我們必須作出說(shuō)明是什么進(jìn)制數(shù)據(jù)才有意義,否則我們不知道它的真

            實(shí)大小。那么如何來(lái)區(qū)分這三種進(jìn)制的數(shù)據(jù)呢?我們采用在數(shù)字的末尾加一個(gè)字母來(lái)表示。

            二進(jìn)制的英文單詞是 Binary,十進(jìn)制的英文單詞是 Decimal,十六進(jìn)制的英文單詞是

            Hexadecimal,所以我們就在二進(jìn)制數(shù)后面加字母 B ,在十進(jìn)制數(shù)后面加字母 D ,在十六進(jìn)制數(shù)后面加字

            母 H,這樣就可以區(qū)分這三種進(jìn)制的數(shù)據(jù)了。如 1010B,145D,562H 等等。因?yàn)槲覀儸F(xiàn)實(shí)生活中用的最 多的是十進(jìn)制數(shù),所以十進(jìn)制數(shù)后的字母 D 可以省略,直接寫 145,就如我們?cè)谥袊?guó)買東西,標(biāo)價(jià)是 200 的話默認(rèn)單位就是人民幣了,但二進(jìn)制數(shù)和十六進(jìn)制數(shù)后的字母不能省略。

            2.4 負(fù)號(hào)的解決之道

            以上在討論數(shù)值的時(shí)候都只考慮了正數(shù)的情況,其實(shí)我們還使用負(fù)數(shù)以及小數(shù),鑒于小數(shù)在我們課程 的學(xué)習(xí)階段用的不是很多,特別是 9051 單片機(jī),對(duì)于小數(shù)的運(yùn)算非常不擅長(zhǎng),所以也就很少用到了,自然 不會(huì)講太多。接下來(lái)我們就僅討論負(fù)數(shù)的問(wèn)題。

            在數(shù)學(xué)運(yùn)算中,表示一個(gè)數(shù)的正負(fù),我們?cè)跀?shù)據(jù)的前面加上一個(gè) 正號(hào)或者負(fù)號(hào)(+/-),但是在計(jì)算 機(jī)中,對(duì)于這個(gè)正負(fù)號(hào)的表示就有點(diǎn)問(wèn)題了,計(jì)算機(jī)中只能使用 0 和 1,沒法使用+ -,那么我們?nèi)绾伪硎?一個(gè)數(shù)值的正負(fù)呢?方法是用 0 和 1 來(lái)表示正負(fù)號(hào)。正常的情況下,我們用 0 來(lái)表示正號(hào),1 來(lái)表示負(fù)號(hào)。 這樣,我們對(duì)于一個(gè)數(shù)值就有兩部分構(gòu)成,符號(hào)位和數(shù)值位,符號(hào)位用 0 和 1 來(lái)表示正負(fù),數(shù)值位表示大 小。計(jì)算機(jī)中的數(shù)值有很多,為了防止符號(hào)位和數(shù)值位不對(duì)應(yīng),我們一般把符號(hào)位和數(shù)值位作為一個(gè)整體來(lái) 處理。前面我們講過(guò),在計(jì)算機(jī)中經(jīng)常用到的單位是 Byte,有 8bit,我們就把最高位作為符號(hào)位,其他的 7 位作為數(shù)值位。如圖 6。

            D7 D6 D5 D4 D3 D2 D1 D0

            符號(hào)位 數(shù)值位

            0 正數(shù)

            1 負(fù)數(shù)

            圖 6 符號(hào)位和數(shù)值位

            這樣我們就可以用二進(jìn)制數(shù)來(lái)表示負(fù)數(shù)了。如

            +10=0000 1010B

            -10=1000 1010B

            這樣我們就不怕負(fù)數(shù)了。我們來(lái)計(jì)算一下+10 + (-10)的結(jié)果。在計(jì)算機(jī)中,+10 和-10 我們已經(jīng)轉(zhuǎn)化 為二進(jìn)制數(shù)了,這里直接列豎式相加就可以了

            0000 1010

            + 1000 1010

            ————————————

            1001 0100

            為什么結(jié)果不是 0?難道+10 +(-10)不等于 0?答案肯定是 0 的,絕對(duì)是二進(jìn)制數(shù)運(yùn)算出錯(cuò),可是錯(cuò)誤

            在哪里呢?大家思考一下數(shù)學(xué)中對(duì)于兩個(gè)數(shù)據(jù)相加是如何做的?首先是比較兩個(gè)數(shù)的符號(hào),如果符號(hào)相同, 那么兩個(gè)數(shù)值相加,符號(hào)不變,而如果兩個(gè)數(shù)值符號(hào)不同,則比較一下哪個(gè)數(shù)值大,用數(shù)值較大的減去數(shù)值 較小的,符號(hào)用數(shù)值較大的符號(hào)。也就是說(shuō),我們數(shù)學(xué)上計(jì)算的時(shí)候是分情況的,而在上面的式子中,我們 把符號(hào)也參與運(yùn)算了,并沒有比較兩個(gè)數(shù)的數(shù)值大小。



            關(guān)鍵詞: 二進(jìn)制數(shù)

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉