二進位制和十進位制的相互轉換

2021-08-10 05:26:15 字數 1642 閱讀 4785

1.轉成二進位制主要有以下幾種:

正整數轉二進位制,

負整數轉二進位制,

正小數轉二進位制;

負小數轉二進位制;

(1)正整數轉二進位制(原碼):

要點:除二取餘,然後倒序排列,高位補零。

也就是說,將正的十進位制數除以二,得到的商再除以二,依次類推知道商為零或一時為止,然後在旁邊標出各步的餘數,最後倒著寫出來,高位補零就ok咧。哎呀,還是舉例說明吧,比如42轉換為二進位制,如圖1所示操作。

42除以2得到的餘數分別為010101,然後咱們倒著排一下,42所對應二進位制就是101010.如圖2所示更直觀的表達。

計算機內部表示數的位元組單位是定長的,如8位,16位,或32位。所以,位數不夠時,高位補零,所說,如圖3所示,42轉換成二進位制以後就是。00101010,也即規範的寫法為:

(42)10=(00101010)2.

趕緊記住吧。

(2)負整數轉換成二進位制(原碼):

先是將對應的正整數轉換成二進位制後,對二進位制符號位為取反獲得補碼,後續符號位不變減一取反獲取負整數原碼;

(3)正小數轉二進位制(原碼):

對小數點以後的數乘以2,有乙個結果吧,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位數已經夠了就ok了。

然後把取的整數部分按先後次序排列就ok了,就構成了二進位制小數部分的序列,舉個例子吧,比如0.125,如圖5所示。

如果小數的整數部分有大於0的整數時該如何轉換呢?如以上整數轉換成二進位制,小數轉換成二進位制,然後加在一起就ok了,如圖6所示。

(3)負小數轉二進位制(原碼):

首先將正小數轉為二進位制,之後將符號位取反;

2.二進位制(原碼)轉為十進位制:

正整數二進位制轉十進位制,

負整數二進位制轉十進位制,

正小數二進位制轉十進位制,

負小數二進位制轉十進位制;

(1)整數二進位制轉換為十進位制:首先將二進位制數補齊位數,首位如果是0就代表是正整數,如果首位是1則代表是負整數。

先看首位是0的正整數,補齊位數以後,將二進位制中的位數分別將下邊對應的值相乘,然後相加得到的就為十進位制,比如1010轉換為十進位制,方法如圖7所示。

(2)小數二進位制轉換為十進位制:

將有小數的二進位制轉換為十進位制時:

例如0.1101轉換為十進位制的方法:將二進位制中的四位數分別於下邊(如圖9所示)對應的值相乘後相加得到的值即為換算後的十進位制。

二進位制和十進位制的相互轉換

請將下列數字轉換為十進位制數 110010011111 2 10110101110 2 156 2608 1043 使用按權展開法將二進位制數轉換為十進位制數,使用短除法除2取餘計算十進位制數轉換為二進位制數。實現此案例需要按照如下步驟進行。1 二進位制數110010011111,轉為十進位制的結果...

二進位制和十進位制的相互轉換

居家隔離這段時間,簡直悶得慌,今天恰好發現了阿里雲大學裡面的課程,決定把linux基礎再鞏固一遍,第一節課學的是計算機基礎,正好搞懂了自己一直以來不太明白的進製轉換 我腦子有點笨,之前總是覺得有點繞 下面呢就是我今天學到的二進位制和十進位制的轉換 所謂n進製轉換,就是到達了n就進一位,如二進位制中,...

二進位制與十進位制相互轉換

我們最常見的進製就是十進位制 滿十進一 當這個數字個位比9大的時候 十位加一 個位歸零 就是 9 之後是 10 19 之後是20 二進位制就是滿二進一 就是 1 的 二進位制 還是1,但是2 的二進位制就是10,3的二進位制就是11,4的二進位制就是100 那如何將十進位制正整數轉換成二進位制呢 比...