新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 二進制數及其他

        二進制數及其他

        作者: 時間:2011-11-17 來源:網絡 收藏

        0題記

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

        在學習計算機基礎或者是數字電子技術、微機原理、單片機、C 語言等課程的時候,都會講到一個概 念:。就是這個難倒了很多的英雄漢,上面羅列的這些課程我都教過,這些課程有一個共 同的知識點就是,十進制數,十六進制數,還有八進制數以及他們的相互轉換,而對于電子類專業 的一門比較重要的課程--單片機,更是要用到二進制數和十六進制數。故而每次我講課時都會盡量詳細的 給學生講解這些內容。今天上午剛剛結束了兩個班的第一堂課,又勾起了我的回憶,讓我有一種把這部分知 識點寫下來的沖動,給那些剛剛開始學習數字電子技術、單片機、C 語言的學生們。以上是為這篇文章的來歷。

        1引子

        隨著電的使用,電器應用越來越廣泛,人們對于電器的要求也越來越高,要求功能強大,還要智能

        化,使用簡單化,這些要求讓數字電子技術應用范圍越來越廣泛,原先很多采用模擬電路的地方都被數字電 路取代了,特別是對于信號處理方面,隨著計算機科學與技術突飛猛進地發展,用數字電路進行信號處理的 優勢也更加突出。信號處理的一般方法都是先將模擬信號按比例轉換成數字信號,然后送到數字電路進行處 理,最后再將處理結果根據需要轉換為相應的模擬信號輸出。從一般的模擬信號到數字信號,要經過采樣、 量化、編碼,最終一個連續的模擬信號波形就變成了一串離散的、只有高低電平之分“0 1 0 1...”變化的數 字信號。自然界來的,或者通過傳感器轉化的主要是模擬信號,那么為什么要多此一舉把它們變為數字信號 呢?原因有以下幾點:

          一、模擬信號有無窮多種可能的波形,同一個波形稍微變化就成了另一種波形,而數字信號只有兩種波 形(高電平和低電平),這就為信號的接收與處理提供了方便。即,數字信號易于傳輸,抗干擾能力強。

          二、模擬信號由于它的多變性極容易受到干擾,其中包括來自信道的和電子器件的干擾,模擬器件難以 保證高的精度(如放大器有飽和失真、截止失真、交越失真,集成電路難免有零點漂移)。而數字電路中有 限的波形種類保證了它具有極強的抗干擾性,受擾動的波形只要不超過一定門限總能夠通過一些整形電路

        (如斯密特門)恢復出來,從而保證了極高的準確性和可信性,而且基于門電路、集成芯片所組成的數字電 路也簡單可*、維護調度方便,很適合于信息的處理。特別是計算機科學技術發展后,很多模擬電路無法實 現的功能都可以在采用數字電路來實現。

        而電子計算機的出現,讓數字電子技術有了更廣闊的發展空間,也讓我們的生活更加的豐富。手機帶 給我們聯絡的方便,電腦帶給我們工作和娛樂以及學習的便利,天上的飛機,路上的汽車,讓我們出行更加 方便,家中的空調冰箱洗衣機微波爐等讓我們生活更加舒適。在手機、電腦、飛機、汽車以及家電中都有一 塊或者多塊的微處理器在工作,而這些微處理器就是由數字電路構成的。

        2 0 和 1 的舞蹈

        2.1 二進制數的來歷

        電,發明出來是為人類服務的,那么電路同樣的是為人們服務的,也就是說我們需要在電路中能夠幫 助我們做平時生活中的事情,這些事情應該是我們不用電也可以來做的。舉個例子,譬如我們生活中的數, 我們采用的是十進制數,今年是 2010 年,就是指從耶穌誕生之年到現在有 2010 年了,班上有 45 個人, 買了一條褲子花費 368 元等等,那么在這些數字的背后隱藏著什么呢?我們都知道 1+1=2,但是陳景潤花 費了很大的功夫才證明,這說明即使我們看起來很平常的的事情也隱藏著一些我們不知道的因素,在這里我 們不是來討論 1+1=2 的,因為我們不是頂極的數學家,但關于十進制數,我們可以討論一下一些普通人都 有能力理解的東西。2010,45,368 這些數字給我們提供了 2 個信息,數碼和數位,2010 由三個數碼

        0,1,2 構成,45 由兩個數碼 4,5 構成,368 由三個數碼 3,6,8 構成,而且這些數碼的位置不一 樣,那么他們所代表的大小不一樣的,如圖 1:

        點擊瀏覽下一頁

        ?
        圖 1 十進制數的數位、基數和權

        圖中 10 就是基數,而 103 、 102 、 101 、 100 也就是 1000,100,10,1 就是權。所謂的權,就是在 這個數中占的數值大小。也就是說 2010 中的“2代表了 2 個“千”,45 中的”4代表了 4 個“十”,而 368 中 的”8“代表了 8 個“一”,而且同一個數碼放在不同的位置上就代表了不同數值,如 555 中,三個 5 的權分別

        100,10,1,那么第一個 5 代表的數值就是 5X100,第二個 5 代表的數值是 5X10,的三個 5 代表的數

        值是 5X 1。采用這種方法,我們就可以用有限的數碼來表示無限的數據了。

        總結一下,十進制采用了 0,1,2,3,4,5,6,7,8,9 共 10 個數碼,基數是 10,進行運算 的時候,我們采用逢十進一。

        這是我們現實生活中需要用到的十進制的一些情況,那么我們在數字電路中必然也要采用這種計數方 法,電路中傳輸的就是電壓和電流,我們要用 10 種不同的狀態來表示這 10 個數碼有點困難。我們舉例來 說吧,譬如有一個電壓,0~5V ,那么我們就可以這樣來表示 0~9 這 10 個數碼,如表 1。

        表 1 電壓和數碼之間的對應關系

        電壓

        十進制數碼

        電壓

        十進制數碼

        0V

        0

        2.5V

        5

        0.5V

        1

        3V

        6

        1V

        2

        3.5V

        7

        1.5V

        3

        4V

        8

        2V

        4

        4.5V

        9

        接下來就是要制造一個能夠精確的實現 0V,0.5V,1V,1.5V……4.5V 等各種電平的基本電路,但這一

        件是非常困難的事情。兩個相鄰的電平只有 0.5V,電路受到干擾,電平偏移 0.5V,那么就變成另外一個數 據了,而要保證電平完全沒有漂移是不可能的,所以,十進制數在電路中很難直接實現了。即使勉強實現 了,數據傳輸的時候又遇到了更大的數據準確性的問題,因為電平經過導線傳輸的時候會變化,相鄰的兩個 電平很容易混淆。這種十進制數在數字電路中是沒法直接實現,更別說是在微處理器這種高頻電路中實現 了。這樣必然要另外想辦法了。而戈特弗里德·威廉·凡·萊布尼茨(Gottfried Wilhelm von Leibniz,1646

        年 7 月 1 日~1716 年 11 月 14 日)在 18 世紀初提出的二進制幫助人們解決了問題,雖然萊布尼茨受中 國的易經八卦啟發而發明的二進制數最初不是用來設計電路的,因為那個時候人們才開始研究電的現象,電 燈,電池等都還沒有出現。但 20 世紀初人們制造出二極管、三極管、集成電路等的時候,卻把二進制拿來 用于電路的設計。二進制數因為只有兩個數 0 和 1,狀態也只有兩種,在電路中實現起來就方便的多了,只 要一個高電平和低電平就可以,甚至說有電流和無電流、有電荷和無電荷都可以表示,這樣的話電路的實現 非常簡單,而且這種電路也不容易受到干擾,抗干擾性好的多。還是以上面 0~5V 的一個電平來說明,看圖2。

        點擊瀏覽下一頁

        圖 2 0 和 1 的電平實現

        從圖 2 中可以看到,我們可以認為 0~1V 都是低電平,2.4V~5V 都是高電平,若假設低電平代表 0,高電 平代表 1,那么我們就實現了二進制數了,這個電路簡單,而且易與實現,電平允許有一定的漂移,提高了 抗干擾能力,數據傳輸可*性高的多。所以數字電路中采用了二進制數。

        假若以高電平代表 1,低電平代表 0,則稱為正邏輯系統,反之,以高電平代表 0,低電平代表 1,

        則稱為負邏輯系統,一般來說,我們采用正邏輯系統。

        2.2 二進制數與十進制數

        接下來我們就研究一下二進制數,注意了,下面我們純粹的研究二進制數,跟二進制的數字電路實現 沒有任何的關系了。

        借助于十進制數的思路,我們的二進制數有兩個數碼:0 和 1,基數是 2,進行運算的時候是逢二進 一。舉例來說明,比如二進制數 10110(注意,讀這個數據的時候只需要把每一位數據讀出來就可以了,

        千萬不要采用十進制數的讀法。即這個數讀作:一 零 一 一 零,而不是一萬零一百一 十,若按照十進制數

        的讀法,會讓別人笑話的。切記切記)。對于這個數,我們知道它的每一位都有權,而且權是 2 的冪,即

        10110 = 1X24 0X23 1X22 1X21 0X20 若我們把這些數字相加計算出數值來,就會發現它是一個 十進制數 22,這樣我們就把一個二進制數轉換為十進制數了。我們接下來就講二進制數和十進制數的相互

        轉換問題。

        隨便拿出一本教材來,關于二進制數和十進制數的相互轉換,都講了一個方法:二進制數轉換為十進 制數采用加權法,就是上面說的例子。而十進制數轉換為二進制數則分為整數部分和小數部分分別轉換,整 數部分用除 2 取余法,小數部分采用乘 2 取整法,然后要列豎式來求解。一般來說,我們在進行應用的時 候,譬如數字電路,單片機中使用的數字都是整數,而且只需要我們快速的計算出這個數據即可,若按照除


        上一頁 1 2 3 下一頁

        關鍵詞: 二進制數

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 原阳县| 湘西| 青阳县| 鹰潭市| 泰兴市| 陵水| 麻江县| 苏尼特左旗| 阿鲁科尔沁旗| 富民县| 建昌县| 获嘉县| 高清| 宝应县| 泰和县| 剑阁县| 蒲江县| 城固县| 敦煌市| 宜良县| 五华县| 罗定市| 高密市| 额济纳旗| 松阳县| 南宫市| 房产| 资阳市| 黑山县| 沽源县| 祁阳县| 阿尔山市| 长顺县| 土默特左旗| 改则县| 绥中县| 金乡县| 神木县| 岱山县| 中牟县| 大埔区|