十進位和二進位之間的轉換

2021-01-08 電子產品世界

既然一個數可以用二進位和十進位兩種不同形式來表示,那麼兩著之間就必然有一定的轉換關係。
  由十進位數的一般表示式:
  可以得到整數的一般表達式:

  將等式兩邊分別除以2,可得第一個餘數b0,同時上式演變為:

  將等式兩邊再除以2,可得第二個餘數b1,等式變為:

  重複上述過程直到商為0,就可由所有的餘數求出二進位數。

  例題 1.3.3 將(25)D轉換為二進位數。
  解:該題的解題思想是,不斷地用2分解十進位整數,並將餘數按得到的順序由低位到高位排列,即可得到對應的二進位數。

  所以(18)D=(b4 b3 b2 b1 b0)B=(10010)B
  例題1.3.4 將(155)D轉換為二進位數解:當要將一個很大的十進位數轉換成二進位數時,採用例題1.3.3的做法很費時 ,我們可以採用另外一種方法。這種方法的思想是從需要轉換的十進位數找到與之最接近的2的冪次方,並從這個十進位數中減去該2的冪次方,在剩下的餘數中重複這種做法,直到餘數為0。然後將所得到的這些2的冪次方與二進位數中的位權相比,相同的位標記為1,其餘的為0,這樣就可得到與十進位數對應的二進位數。
  現在我們來看看155這個十進位數,與2的各個冪次方數比較後可知,與155最近的是128,即27,155減去128後餘數為27,而27最接近的是24,27減去16得到11,11減去8(23)得到3,3減去2(21)得到1,1減去1(20)得到0。由於在本次計算中得到2的最高冪次為7,因此可以得知對應的二進位數是一個八位的二進位數,寫出這個二進位數的位權,並將其與得到的五個2的冪次方數對比後填入1,其餘的用
0代替,最後得到的二進位數為10011011。

  需要指出的是,多數計算機或數字系統中只處理4、8、16、32位的二進位數據,因此,數據的位數需配成規格化的位數,如例題1.3.3種轉換結果為11001,如將它配成8位,則相應的高冪項應填以0,其值不變,即11001=00011001。
  根據十進位數的一般表達式,可以得到十進位小數的表達式如下

  將等式兩邊分別乘以2,可得:

  比較上面兩式,可以發現第一項中2的冪次已經由原來的-1變成了0,而20是整數的最低位的位權,因此可以將該項從表達式中去掉,也就是去掉了b-1。,這樣也就使得剩下的數保持為純小數。繼續在表達式的兩端乘以2,可得:
  這樣又得到了一個20項,也就是b-2也將再次被從式子中剔除,但同時也就產生了二進位小數的前兩位。重複上述過程,直到 滿足要求的位數時做「四捨五入」,也就完成了從十進位小數到二進位小數的轉換。
  例題8:將(0.706)D轉換成誤差ε不大於2-10二進位小數。
解:
  0.706 ×2=1.412……1……b-1
  0.412 ×2=0.824……0……b-2
  0.824 ×2=1.648……1……b-3
  0.648 ×2=1.296……1……b-4
  0.296 ×2=0.592……0……b-5
  0.592 ×2=1.184……1……b-6
  0.184 ×2=0.368……0……b-7
  0.368 ×2=0.736……0……b-8
  0.736 ×2=1.472……1……b-9

  最後一位小數0.472小於0.5,根據「四捨五入」原則,則有:
0.0 ×2=0……0……b-10

所以, (0.706)D=(0.101101001)B,誤差ε 2-10


相關焦點

  • 二進位-八進位-十進位-十六進位之間的相互轉換
    10年前,在大學裡學習了數字電路,課本中講到了進位之間的相互轉換
  • 二進位與十進位如何互相轉換?
    距離考試倒計時11天最近好幾個同學問小楠,二進位與十進位是如何轉換的
  • 二進位、八進位和十六進位數之間的轉換
    然後將每一組的四位二進位數轉換為一位十六進位數。轉換方法可以參考表2-2中的進位對應關係,也可以採用按權展開的方法進行轉換。(說明:按權展開後得到的如果是0~9之間的數,直接寫這個數即可;如果是10~15之間的數,要將其轉換為十六進位的A~F。要注意十進位的10~15與十六進位的A~F的對應關係。)
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    3、二、八、十進位數之間轉換(1)二進位 數與八進位數之間的轉換轉換方法①把二進位數轉換為八進位數時,按「三位並一位」的方法進行。相互轉換二進位轉換為八進位、十六進位:它們之間滿足23和24的關係,因此把要轉換的二進位從低位到高位每3位或4位一組,高位不足時在有效位前面添「0」,然後把每組二進位數轉換成八進位或十六進位即可八進位、十六進位轉換為二進位時,把上面的過程逆過來即可。例3:N=(C1B)H=(?)
  • 10、進位轉換:二進位、八進位、十六進位、十進位之間的轉換
    上節我們對二進位、八進位和十六進位進行了說明,本節重點講解不同進位之間的轉換,這在編程中經常會用到,尤其是C語言。
  • 6、計算機進位之二進位、十進位、十六進位之間的轉換
    1、計算機的數制介紹數制:計數的方法,指用一組固定的符號和統一的規則來表示數值的方法
  • 二進位,八進位,十進位,十六進位轉換詳解~
    轉換原則:讓二進位各位上的係數乘以對應的權,然後求其和              11001.11₂ = 1×2^4 + 1×2^3 + 0×2^2 + 0×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 = 25.7510         整數:11001 = 1×2^4 + 1×2^3 + 0×2^2 + 0×2^1 + 0×2^0(以小數點為界逐步向左排序)
  • 二進位、八進位和十六進位之間轉換詳解
    因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進位(Decimalism)。十進位是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。進位也就是進位制。進行加法運算時逢X進一(滿X進一),進行減法運算時借一當X,這就是X進位,這種進位也就包含X個數字,基數為X。
  • 數據的表示二進位八進位十進位十六進位之間的轉換
    數據的表示1.R進位轉十進位R進位轉十進位使用按權展開法二進位 10100.01 = 1x24+1x22+1x2-2七進位 604.01 = 6x72+4x70+1x7-2十進位 1227 = 1x103+2x102+2x101+7x1002.十進位轉
  • 二進位,八進位,十進位,十六進位之間的轉換
    什麼是二進位二進位是計算技術中廣泛採用的一種數制。二進位數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位系統,數據在計算機中主要是以補碼的形式存儲的。
  • 二進位轉換為十進位和十進位轉換為二進位的方法
    各位小夥伴們大家好,在之前的文章中小編也介紹了關於二進位轉十進位的方法,這次小編知道了一個更簡單的方法,具體如下:比如我們要把28轉為二進位:28轉換為2進位先用2的n次方來表示28這個數,然後用2的n次方乘以1或者乘以0,相加來湊成與之相等的數,得到的1或者是0,根據這個表格,從左往右把二進位數字湊在一起,11100就是28的二進位了。
  • 二進位、八進位和十六進位之間轉換
    因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進位(Decimalism)。十進位是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。進位也就是進位制。進行加法運算時逢X進一(滿X進一),進行減法運算時借一當X,這就是X進位,這種進位也就包含X個數字,基數為X。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—>
  • 基礎知識 | 二進位、八進位和十六進位之間轉換詳解
    因為逢十進一(滿十進一),也因為只有 0~9 共十個數字,所以叫做十進位(Decimalism)。十進位是在人類社會發展過程中自然形成的,它符合人們的思維習慣,例如人類有十根手指,也有十根腳趾。進位也就是進位制。進行加法運算時逢X進一(滿X進一),進行減法運算時借一當X,這就是X進位,這種進位也就包含X個數字,基數為X。
  • 關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結
    一、 十進位與二進位之間的轉換(1) 十進位轉換為二進位,分為整數部分和小數部分 ① 整數部分 方法:除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上一個位權上的數,這個步驟一直持續下去
  • 二進位、十進位和十六進位
    二進位就是逢二進位,它的一個位只有兩個值:0 和 1,但它卻是實現計算機系統的最基本的理論基礎,計算機(包括單片機)晶片是基於成萬上億個的開關管組合而成的,他們每一個都只能有開和關兩種狀態,再難找出第三個狀態了(不要辯解半開半關這個狀態,它是不穩定態,是極力避免的),所以他們只能對應於二進位的 1 和 0 兩個值,而沒有 2、3、4......,理解二進位對於理解計算機的本質很有幫助。
  • 二進位與十六進位之間互相轉換
    通過上節課的學習,我們掌握了二進位與八進位互相轉換的方法(我們介紹的是421法),我們進行知識遷移,二進位數轉換成十六進位數的方法我們用
  • 計算機等級考試詳解:十進位數92轉換為二進位數!
    計算機等級考試詳解:十進位數92轉換為二進位數!本經驗由宗龍龍原創,全文共1000多字,閱讀需要14分鐘,如果文中存在錯誤,還請大家多多指點,我會積極改進的!14、十進位數92轉換為二進位數是()。A)01011100B)01101100C)10101011D)01011000(圖片來源於網絡)這一題主要考察的是十進位與二進位的相互轉換問題。如果你不知道如何轉換,沒有關係,我們只需要打開pc電腦端的計算器便可以輕鬆的進行十進位與二進位之間的轉換。
  • php學習之函數的封裝及二進位和十進位相互轉換案例
    案例:創建一個表單,輸入任意數字,讓其在二進位、十進位、十六進位之間互相轉換1.沒有封裝前的代碼實現封裝的意義在於一次寫成多次調用各進位和其他進位的相互轉換函數decbin():十進位轉二進位函數`dechex():十進位轉八進位
  • 清晰說明十進位如何快速轉二進位,助力考生
    小編曾經總結過這樣的一篇文章,關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結今天之所以又寫這篇文章,一是補充上文中的缺憾,沒有分享十進位到二進位最快的方法;再就是響應平臺號召,助力高考。那麼高考會考嗎?