十進位制轉二進位制原理,十進位制轉二進位制的這方法的數學原理是什麼啊?求大神詳解!

2022-06-12 12:06:32 字數 3195 閱讀 9584

1樓:匿名使用者

用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.

2樓:禮翼跆拳道

計算機 十進位制和二進位制的轉換

3樓:做而論道

假設數字n,並不大,小於16,可用四位二進位制數表示,故有:

n = a3 * 2^3 + a2 * 2^2 + a1 * 2^1 + a0 * 2^0

= a3 * 8 + a2 * 4 + a1 * 2 + a0 * 1

在兩邊除以2,則有:

n/2 = a3 * 2^2 + a2 * 2^1 + a1 * 2^0 + a0

看到右邊的a0了吧,它是除以2後的餘數。

去掉a0,再除以2,

右邊為 a3 * 2^1 + a2 * 2^0 + a1這次餘數是a1。

......

各個位的數字都可以求出來。

4樓:ct知道

原理就是,十進位制的是逢十進一,而二進位制的是逢二進一!

5樓:匿名使用者

我用x表示十進位制的x,假定x變成2進製後的數為三位abc,其中a為最高位,b為次高位,c為最低位。

則有 x = a*2^2 + b*2^1 + c*2^0= 4a+2b+c

所以 x%2 = c,

x/2 = a*2 + b

令x=x/2,則x=a*2+b

x%2 = b,

x/2 = a

令x=x/2,則x=a

x%2 = a

x/2 = 0

故每一步的餘數為:

c, b, a

把它們顛倒,就得到a,b,c

原理只有一條,可以證明/看出每次除以2的餘數正好是2進製的每乙個數。

希望解釋的夠清楚,不明白我可以再補充。

6樓:萍水e相逢

num = a7 * a^7 + a6 * a^6 + a5 * a^5 + a4 * a^4 + a3 * a^3 + a2 * a^2 + a1 * a^1 + a0 * a^0

十進位制轉二進位制的這方法的數學原理是什麼啊?求大神詳解!

7樓:

設x為10進製數,對應2進製數為:anx2^(n-1)+a(n-1)2^(n-2)+....+a2x2+a1

x=anx2^(n-1)+a(n-1)2^(n-2)+....+a2x2+a1

兩邊同時除以2

x/2=[anx2^(n-2)+a(n-1)2^(n-3)+....+a2]+a1/2

方括號中是商,後面a1就是餘數,第乙個餘數就是最後一位:

[x-a1]/2=anx2^(n-2)+a(n-1)2^(n-3)+....+a2

再除以2,餘數就是a2,

以此類推。

8樓:同鵬翼

就是一直除以2,倒著把餘數連起來就行了啊

反過來二進位制轉十進位制的話,倒數第x位的數乘以2的(x-1)次方,每一位都這樣加起來就行了

十進位制轉化為二進位制的方法我知道,但是有沒有人知道它的原理是什麼?也就是有沒有人能夠證明它的正確性?

9樓:彗我獨宇

注意,2進製每滿2就進1,當我們把乙個數除以2後,就知道這個數在某個位置要進多少次位,餘數不滿足2而被餘下置於後置位。

以43為例,我們想象將43全部置於二進位制的末位,這樣肯定不行,因為要滿2就要進1次位,所以我們可以計算43要進製多少次和留在末位的數字。

43÷2=21...1 21為進製到倒數第二位的數(進製次數),1為末位因不能進製而被剩下。

倒數第二位的21因遠遠超過2,所以需要進製,滿2進121÷2=10...1

同理10÷2=5...0

5÷2=2...1

2÷2=1...0

1小於2,為首位數字。

所以答案為101011

小數簡單易懂的還沒想到,網上有公式,可以參考。

10樓:破碎虛空_改

你想一下10進製是怎樣的?

1234是不是等於1*10^3+2*10^2+3*10^1+4*10^0

模擬下二進位制的101是不是1*2^2+0*2^1+1*2^0

也就是說10進製的5裡面包含乙個4和乙個1,轉為2進製就是101,

這是2進製轉10進製的思想,

而且你有沒有注意到,乙個2進製數去掉最低位得到的數一定是偶數?

也就是乙個n位的二進位制數x=an……a3a2a1,滿足x=2*(an……a2)+a1

類似10進製中1234=123*10+4

那麼給出乙個10進製的數11吧

11/2=5.....1,這裡餘數1就是轉化的2進製數的最低位,因為除了最低位之外的都可以被2除,也就是11=5*2+1

好,繼續

5=2*2+1

2=1*2+0

1=0*2+1

所以11化為2進製就是1011

乘r取整法用於小數部分,原理和除r取余是一樣的

比如乙個十進位制小數x化為二進位制是0.abc,是不是可以表示成a*2^-1+b*2^-2+c*2^-3

那麼2x也相當於0.abc*2=a*2^0+b*2^-1+c*2^-2,你看小數點後第一位的a是不是提到整數部分來了,取整也就是獲得a的值,接下去同理

1122db十進位制轉二進位制

樓上的回答錯誤 1.122 d b 十進位制轉二進位制 答案是111010十進位制轉二進位制是用的除以二倒序取餘的方法。十進位制轉二進位制 用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 302 2 151 餘0 151 2 75 餘1 75 2 37 餘1 37 2 ...

十進位制轉二進位制快速演算法

首先講一下 權重 的概念,數字中某位的權重 2的 該位所在的位數 從右至左 1 次方,比如 100的權重為 2 1 1 1 1的權重為 2 2 1 2,二進位制轉十進位制 數字中所有位 本位的權重然後求和。比如將10101轉化為十進位制 10101 1 2 4 0 2 3 1 2 2 0 2 1 1...

十進位制轉化二進位制會有精度損失嗎,十進位制轉二進位制為什麼有時會存在誤差

因為在十進位制小數中除了特定的一些數值之外,絕大多數都無法用二進位制小數精確表達,所以很多情況下,十進位制小數轉換成二進位制小數是會有精度損失的。十進位制轉二進位制為什麼有時會存在誤差 只有小數10轉2時存在誤差,不是所有的十進位制小數能完全轉換成二進位制小數的,如 0.3d 約為 0.010011...