進製轉換的原理是什麼?

時間 2021-05-31 04:59:57

1樓:Lily

先丟擲乙個問題:乙個k進製下的數An-1A-n2…A0,轉換成十進位制數是多少。

接著往下數,依次是:111k-1,20…2k-1,30…3k-1……此時第一二個數字都達到最大值k-1,k進製下為k-1k-1。再數下乙個數,此時K進製下為100。

至此,考慮我們已經數了多少個數,即在十進位制下為多少。可以看到,第二數字每次進1,第一數字即清0,接著第一數字再跑滿K,第二位又進1,第一位又清0…由此可知:K進製下為100,轉換為10進製是kˇ2。

現在可以解決最初的問題啦:k進製下An-1An-2…A0,對應十進位制的An-1*k^n-1+An-2*k^n-2+…+A0*k^0。

2樓:hubeen

進製代表數字進製的規則。

這個規則說明了兩個事情:

1)每個位置數字的範圍

2)每個位置數字代表的數量

以10進製為例,1)每個位置有0~9一共10個數字,2)每個位置從右到左依次代表x*10^0,x* 10^1, x *10^2 .....x * 10^ n,其中x代表每個位置的數字,n代表距離最右測的距離。

那麼 10進製123 = 3 * 10^ 0 + 2 * 10 ^ 1 + 1 * 10 ^ 2 即十進位制123

以7進製為例,1)每個位置有0~6一共7個數字,2)每個位置從右到左依次代表x*7^0,x* 7^1, x *7^2 .....x * 7^ n,其中x代表每個位置的數字,n代表距離最右測的距離。

那麼7進製123 = 3 * 7^ 0 + 2 *7 ^ 1 + 1 * 7 ^ 2 即十進位制66

這樣任意進製的數,你都可以轉換成10進製。

反之,十進位制66要轉化為7進製表示,則從最右邊開始

1)(66 / 7^0) % 7 = 最低位7進製數值,即3

2)(66 / 7^1) % 7 = 次低位7進製數值,即2

3)(66 / 7^2) % 7 = 第三低7進製數值,即1

4)66 < 7^3,說明已經沒有更高的數字了。

合併在一起,即7進製123,反向轉化套路你可以自行總結。

這樣,你可以把10進製轉化位任意進製的數。

綜上,以十進位制為媒介,你可以在任意兩種非十進位制數之間互相轉換。

3樓:史繼林

我們對整數部分小數部分分別處理

在一、二部分處理將十進位制整/小數轉換為任意進製,在最後說明任意進製任意進製的方法。

一、整數部分

現在我們將十進位制整數X轉換為h進製

我們先看最後結果會長什麼樣子,假設進製轉換完後,h進製下X表示為

則由進製的表示方法:

按照進製規則,這裡 必是小於h的

比如8進製下,

我們的思路是逐個求出 是多少

於是只要迭代地 X除以h,直到商為0,將每次得到的餘數倒序排列即為答案

過程:

把各個餘數倒序排列,即可得

這便是短除法的原理

例:

把10進製下123轉為2進製,得到1111011(2)

分割線二、小數部分

現在我們將小數X轉換為h進製(X的整數部分是0)

還是先看最後結果會長什麼樣,假設乙個數X在轉換為h進製後表示為

則由進製的表示方法:

我們的思路仍是逐個求出 是多少

於是只要迭代地 X乘h,直到小數部分為0時停止乘h,將每次得到的整數部分正序排列即為答案 (有時小數部分永遠不為0)

過程:

整數部分為 , 中去掉

此時 繼續乘h,如下:

整數部分為 , 中去掉

……(假設迴圈能停止)

整數部分為 , 中去掉

此時繼續乘h:

整數部分為

把得到的各個整數正序排列,即可得

10進製下0.71875轉為2進製為0.10111

得到1得到0

得到1得到1

得到1於是得到0.10111

又來分一波割

在一、二部分處理了十進位製到任意進製的轉換,那任意進製到任意進製如何處理呢?

只需要做乙個改變:

k進製轉h進製,只需要在乘除時按k進製計算退位和進製就可以。

這樣就實現了任意進製間數的轉換

例:七進製轉二進位制

感興趣的鐵汁可以嘗試編寫任意進製到任意進製轉換的的code,加深理解。

進入考研準備階段這個問題的瀏覽量上來了,希望對正在閱讀的你有幫助,祝備考順利~

4樓:

就像心神恍惚學的乘法口訣一樣,應用進製轉換時,只需要記住轉換口訣而已。

可知其然要知其所以然。於是代數公式來襲

wait!先要有個概念。不論用那種數制記數法,客觀存在的數量永遠是那麼多,而 1-9 a-f 都只是符號而已

5樓:劉立秋

進製轉換就是對於給定找到串行使

這樣就是 b進製表示下的x。

因為帶餘除法的特性

如果a和d是兩個自然數,d非0,可以證明存在兩個唯一的整數q和r,滿足a = qd + r 且0 ≤ r < d。

如果 0" eeimg="1"/>可以證明 q" eeimg="1"/>。

所以對於給定和,如果可以找到唯一的。

如果y可以表示為的序列,則

當時,,所以所有自然數x都可以找到序列。

6樓:曹文雯

老實說我不知道你那裡不懂……求更多解釋……我先猜著來,有什麼不合適的,您說話。

據我推測,你這個階段

先甭理那些技巧性的短除法之類之類的,用基礎方法先湊數能湊熟練再說。

二進位製換十進位制是比十進位製換二進位制更基礎的,我們從這裡講起。

進製這事兒,說到底就是位值原理,即:

同乙個數字,放在不同的數字上,代表不同大小的數。

例如:十進位制中,百位上的1表示100,十位上的1表示10.

十進位制之中,每個數都可以被拆開:

123=1×100+2×10+3×1

9876=9×1000+8×100+7×10+6×1

這個事情先搞清爽,然後我們就可以為拓展進製做準備了:

試回答這個問題:為啥相應的數字是1000、100、10、1?為啥不是4、3、2、1?

答:滿十進一,再滿十再進一,因此要想進到第三位,得有10×10;第4位得有10×10×10

這樣我們就知道了,對10進製,從低位到高位,依次要乘上:

10^0(10的0次方,後同),10^1,10^2,10^3……

下面我們開始換進製玩兒:

進製換成進製

也就是把10換成2

那麼我們得到:

對2進製,從低位到高位,依次要乘以2^0,2^1,2^2,2^3……

也就是1、2、4、8、……

因此原來十進位制咱們叫十位、百位、千位……

現在二進位制其實是二位、四位、八位……

這樣我們就能做十進位製換二進位制了:

比如:二進位制數1011=1×2^3+0×2^2+1×2^1+1×2^0=1×8+0×4+1×2+1×1=8+2+1=11

(由於二進位制中非零的數只有1,所以其實等同於:

個位有數就加1,二位有數就加2,四位有數就加4……)

接下來我們進行十進位制往二進位制的轉換:

比較小的數,直接通過拆分就可以轉換回去

比如13,我們數一數,1、2、4、8、16……,唔,不能包含16了,那就只能包含8。 13-8=5,5當中有4,5-4=1

好啦,我們知道13=8+4+1

接著把她對應回相應位置去,8是從低往高數的第4位,4是從低往高數的第3位,1是從低往高數的第1位

於是13=二進位制數1101

然後就多練習這個,反覆練,讓自己熟悉這個感覺:

17=16+1=二進位制10001

19=16+2+1=二進位制10011

30=16+8+4+2=二進位制11110

……比較熟悉之後就可以看看高階的短除法化二進位制了(不要偷懶哦!先去把前面的練熟!):

粗鄙地來做的話,現在你按照書上說的短除法來試試,會發現它和你湊數得到的結果剛好是一樣的,好神奇~

以後就按這個做吧!

想要知道其中的道理的話:

(1)乙個二進位制數末尾是1,意味著一定是……+1,前面的每個數都是2的倍數,只有最後的+1不是

所以乙個二進位制數末尾是1,意味著它對應的十進位制數除以2一定是餘1的。

所以第一次除以2之後的餘數,就是轉換結果中的最後一位。

(2)如果乙個二進位制數從低往高第2位是1,我們希望把它轉換為(1)的情況,那麼我們把這個二進位制數的末尾抹掉。

抹掉尾巴的二進位制數,和原來的二進位制數相比,每個數都往低位錯了1位,相當於除以2.

末尾的尾巴丟掉了,相當於我們把餘數丟掉了。

而這個除以2的步驟,剛好是(1)當中判斷末尾是不是1的步驟,所以我們剛好可以繼續做下去。

對這個抹掉了尾巴的二進位制數(十進位制來說就是原數除以二之後的商),我們繼續(1)的做法,把它除以2,看餘數。

如此繼續下去,就可以得到短除法的結論了。

有關進製轉換的問題?

曲晉雲 首先,請問一下你自己,2的四次方是多少?也許你直接就回答16。那麼好,這個回答裡的16,你已經隱含地在使用10進製了。假如用八進位制來表示的話,2的四次方就不是16,而是20。計算機程式語言裡也是如此,表示數字的變數型別,用的是十進位制。以C語言為例,當你定義乙個變數 inta 這時變數a指...

轉換插頭的工作原理?

萬浦wonplug 轉換插頭的主要作用是將一種插頭轉換成另一種插頭形式,以適應當地的插座使用。如 去歐洲旅行,需要將國標的插頭型別轉換成歐規插頭型別,用電器才能在歐洲正常使用。除了作為插頭的轉換外,現在越來越多的轉換插頭會設計得多元化,例如帶USB介面的,能給電子裝置充電。有些是轉換插頭一體式的,方...

對於各進製之間的轉換有什麼好方法嗎?

狗尾草的小確幸 1.十進位制轉換為二進位制 做除法,餘數逆序 10 10進製 1010 2進製 10 2 商為5 餘數為0 5 2 商為2 餘數為 1 2 2 商為1 餘數為 0 1 2 商為0 餘數1 2.十進位制轉八進位制 10 10進製 12 八進位制 10 8 商為1 餘數 2 1 8 商為...