十進位制轉二進位制演算法,二進位制轉十進位制,十進位制轉二進位制的演算法 求助

時間 2021-09-15 02:21:47

1樓:向前看

如果要將十進位制數轉換為二進位制數,則應將十進位制數的整數部分和小數部分分別轉換為二進位制數,然後將這兩部分的二進位制數合併得到完整的二進位制數。

首先,通過短除法,十進位制數可以除以2得到多個餘數。最後,將餘數從下到上進行排列組合,得到二進位制數。

然後將小數部分乘以2,取每一步的整數部分,從上到下排列所有整數,得到小數部分的二進位制數。

2樓:跪著作揖

從最低位(最右)算起,位上的數字乘以本位的權重,權重就是2的第幾位的位數減一次方。

比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起來。

2(1-1)代表2的0次方,就是1;其他類推

比如二進位制1101,換算成十進位制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13。

擴充套件資料

1、二進位制轉換為八進位制:

把二進位制的數從右往左,三位一組,不夠補0

列:111=4+2+1=7

11001拆分為 001和011,001=1,011=2+1=3。

那麼11001轉換為八進位制就是31。

2、二進位制轉換為十六進位制:

參照二進位制轉八進位制,但是它是從右往左,四位一組,不夠補0

列子:1101101拆分為1101、0110

分別計算兩個二進位制的值,1101=8+4+0+1=13,十六進位制中13為d

0110=4+2=6,那麼二進位制1101101轉換為十六進位制就是6d。

3樓:渴侯念雁

用2輾轉相除至結果為1

將餘數和最後的1從下向上倒序寫 就是結果

例如302

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

故二進位制為100101110

二進位制轉十進位制

從最後一位開始算,依次列為第0、1、2...位第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

例如:01101011.轉十進位制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位制01101011=十進位制107.

4樓:仙戈雅

方法是用十進位制的數字連續除以2,所得的商繼續除以2,依此類推,直到商為0時停止,然後把所有餘數倒序輸出就是二進位制

例如,十進位制數5轉換為二進位制的過程如下:

5/2=2 ...1

2/2=1 ...0

1/2=0 ...1

倒序輸出就是101(從下至上),所以十進位制數5轉換二進位制就是101。

5樓:

例如302

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

1/2 = 0 餘1

故二進位制為100101110

下面是c++偽**

將n轉化為二進位制表達。

s[1001];

while (n!=0)

for (int i=s[0];i>=1;i--)printf("%d",s[i]);

列印出來的就是n從十進位制轉化為二進位制

6樓:山慧興睿範

學計算機的朋友剛開始學習時都要接觸進位制之間的轉換,二進位制、十進位制、八進位制、十六進位制等,這個是很枯燥的,轉來轉去就轉蒙圈了,別蒙別蒙,今天咱們一個一個搞定,看看二進位制和十進位制之間如何相互轉換的。

方法/步驟

轉成二進位制主要有以下幾種:正整數轉二進位制,負整數轉二進位制,小數轉二進位制;

1、正整數轉成二進位制。要點一定一定要記住哈:除二取餘,然後倒序排列,高位補零。

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

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

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

趕緊記住吧。

2、負整數轉換成二進位制

方法:先是將對應的正整數轉換成二進位制後,對二進位制取反,然後對結果再加一。還以42為例,負整數就是-42,如圖4所示為方法解釋。

最後即為:(-42)10=(11010110).

3、小數轉換為二進位制的方法:對小數點以後的數乘以2,有一個結果吧,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位數已經夠了就ok了。然後把取的整數部分按先後次序排列就ok了,就構成了二進位制小數部分的序列,舉個例子吧,比如0.

125,如圖5所示。

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

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

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

5、若二進位制補足位數後首位為1時,就需要先取反再換算:例如,11101011,首位為1,那麼就先取反吧:-00010100,然後算一下10100對應的十進位制為20,所以對應的十進位制為-20,方法如圖8所示。

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

注意事項

進位制之間的轉換雖然繁瑣,但理解後也不難,但是需要經常溫習,然後才不會弄混淆。

二進位制轉十進位制,十進位制轉二進位制的演算法(求助)

7樓:隨便什麼名啦啦

二進位制轉換為十進位制:

方法:「按權求和」,該方法的具體步驟是先將二迸制的數寫成加權係數式,而後根據十進位制的加法規則進行求和 。

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

十進位制轉換為二進位制:

一個十進位制數轉換為二進位制數要分整數部分和小數部分分別轉換,最後再組合到一起。

整數部分採用 "除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

小數部分要使用「乘 2 取整法」。即用十進位制的小數乘以 2 並取走結果的整數(必是 0 或 1),然後再用剩下的小數重複剛才的步驟,直到剩餘的小數為 0 時停止,最後將每次得到的整數部分按先後順序從左到右排列即得到所對應二進位制小數。

通用進位制轉換:

不同進位制之間的轉換本質就是確定各個不同權值位置上的數碼。轉換正整數的進位制的有一個簡單演算法,就是通過用目標基數作長除法;餘數給出從最低位開始的「數字」。

8樓:匿名使用者

十進位制轉二進位制用除2的短除法,二進位制轉十進位制用乘冪法,比如4,短除2,餘數為0,再除2,餘數為0,,直至為剩餘數字為1,逆序寫上去,為100,100=1*2^2+0*2^0+0*2^0=4

9樓:匿名使用者

十進位制轉二進位制:

用2輾轉相除至結果為1

將餘數和最後的1從下向上倒序寫 就是結果

例如302

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

故二進位制為100101110

二進位制轉十進位制

從最後一位開始算,依次列為第0、1、2...位第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

例如:01101011.轉十進位制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位制01101011=十進位制107.

10樓:匿名使用者

1.二進位制與十進位制的轉換

(1)二進位制轉十進位制

方法:"按權求和"

例:(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十進位制轉二進位制

· 十進位制整數轉二進位制數:"除以2取餘,逆序輸出"

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十進位制小數轉二進位制數:"乘以2取整,順序輸出"

例:(0.625)10= (0.101)2

0.625

x 21.25

x 20.5x 2

1.02.八進位制與二進位制的轉換

例:將八進位制的37.416轉換成二進位制數:

37 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2例:將二進位制的10110.0011 轉換成八進位制:

0 1 0 1 1 0 . 0 0 1 1 0 02 6 . 1 4

即:(10110.011)2 =(26.14)83.十六進位制與二進位制的轉換

例:將十六進位制數5df.9 轉換成二進位制:

5 d f . 9

0101 1101 1111.1001

即:(5df.9)16 =(10111011111.1001)2例:將二進位制數1100001.111 轉換成十六進位制:

0110 0001 . 1110

6 1 . e

即:(1100001.111)2 =(61.e)16

二進位制十進位制轉換公式,二進位制轉十進位制公式

比如10進位制的15轉換2進位制 用15除以2,商為7,餘數為1,再用7除以2,商為3,餘數為1,再用3除以2,商為1,餘數為1,再用1除以2,商為0,餘數為1,最後吧餘數倒過來排列就為二進位制的1111 即商為0時的1,商為1時的1,商為3時的1,商為7時的1 二進位制轉十進位制。以二進位制的11...

十進位制轉二進位制的計算方法,二進位制轉化為十進位制怎麼算

例如十進位制數。這個要分開成36和來算。則36的二進位制數為100100 2 5 2 2 32 4 取1,餘。取1,餘0 則的二進位制數為。的二進位制數為。舉一個例子 將十進位制的25轉為二進位制的數。25 2 餘數 然後我們將餘數按從下往上的順序書寫就是 11001,那麼這個11001就是十進位制...

十進位制數60轉換成二進位制數,二進位制數1110111轉換成十進位制數是

96未來可期 十進位制整數轉二進位制的方法是除2取餘法。十進位制數60轉換成二進位制數全過程如下 60 2 30.0 30 2 15 0 15 2 7.1 7 2 3.1 3 2 1.1 1 2 0.1 是除的意思,等號後面第一列為商,第二列為餘數餘數的倒序即為結果 111100 文史一家人 轉化為...