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