將31 26轉化成二進位制表示,十進位制轉二進位制快速演算法

2022-05-12 09:31:17 字數 4341 閱讀 6474

1樓:

整數部分:

採用除基取餘法,基數為16,

31/16,商1,餘15,即f

1/16,商0,餘1

從上到下依次是個位、十位,

所以,最終結果為(1f)16。

(31)10=(1f)16=(0001 1111)2小數部分

0.26×2=0.52,取0

0.52×2=1.04,取1

0.04×2=0.08,取0

0.08×2=0.16,取0

0.16×2=0.32,取0

0.32×2=0.64,取0

0.64×2=1.28,取1

0.28×2=0.56,取0

0.56×2=1.12,取1

0.12×2=0.24,取0

0.24×2=0.48,取0

0.48×2=0.96,取0

0.96×2=1.92,取1

0.92×2=1.84,取1

0.84×2=1.68,取1

0.68×2=1.36,取1

(0.26)10=(0.0100 0010 1000 1111)2(31.26)10

=(31)10+(0.26)10

=(1 1111)2+(0.0100 0010 1000 1111)2

=(1 1111. 0100 0010 1000 1111)2

2樓:千嬌百媚

11 111.010 000 101 0……

j**a中如何將十進位制數字轉化成二進位制?

3樓:鬼火狼煙

需要這麼做麼,如果你願意,你就可以直接把1個10進位制的數當作2進位制來看待的.判斷他某幾位是不是0可以用掩碼的方法:

比如:判斷10進位制10的第2位是不是1,可以用 10 & 2 是否等於0來得到,等於0,該位不是1,否則該位是1,原理, 10和2的2進位制**是:

1010 & 0010 = 0010 != 0 所以10的第2位是1,依次類推,用10&4去判斷第3位是不是1.用6判斷第2位和第3位是不是同時為1.

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

4樓:

首先講一下「權重」的概念,數字中某位的權重: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*2^0=21

十進位制如何轉二進位制:將該數字不斷除以2直到商為零,然後將餘數由下至上依次寫出,即可得到該數字的二進位制表示,以將數字21轉化為二進位制為例。

2.當商為零時,將餘數由下至上依次寫出,即為21的二進位制表示。

拓展資料:

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

而由二進位制數轉換成十進位制數是把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和,這種做法稱為「按權相加」法。

5樓:匿名使用者

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

而由二進位制數轉換成十進位制數是把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和,這種做法稱為「按權相加」法。

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。

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

以235為例,轉為二進位制:

235除以2得117,餘1

117除以2得58,餘1

58除以2得29,餘0

29除以2得14,餘1

14除以2得7,餘0

7除以2得3,餘1

3除以2得1,餘1

從得到的1開始寫起,餘數倒排,加在它後面,就可得11101011。

6樓:匿名使用者

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

例如上題42轉為二進位制就是101010.

人類算數採用十進位制,可能跟人類有十根手指有關。亞里士多德稱人類普遍使用十進位制,只不過是絕大多數人生來就有10根手指這樣一個解剖學事實的結果。實際上,在古代世界獨立開發的有文字的記數體系中,除了巴比倫文明的楔形數字為60進位制,瑪雅數字為20進位制外,幾乎全部為十進位制。

只不過,這些十進位制記數體系並不是按位的。

二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。

當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用1來表示「開」,0來表示「關」。

7樓:匿名使用者

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

方法/步驟

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

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所示)對應的值相乘後相加得到的值即為換算後的十進位制。

注意事項

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

8樓:

#include

#include

int main()

i=31;

while(!b[i])i--;

while(i>=0)printf("%d",b[i--]);

return 0;}

9樓:匿名使用者

將數字一直除以2,直至除到1 ,再將餘數和最後的1從下向上倒著寫就是結果

10樓:匿名使用者

(42)10=(00101010)2.趕緊記住吧。應該寫為(101010)2.

11樓:匿名使用者

你要的是把一個10進位制轉成2進位制的方法,還是寫一個程式,輸入一個10進位制數,輸出其2進位制?

無符號二進位制整數1011000轉化成十進位制是什麼?

導彈的彈道導彈的彈道導彈的彈道導彈。無符號二進位制1011000換成十進位制數是什麼 十進位制每位基數是1000 100 10 1,如果有2019十進位制數,說明其中包含2個1000,0個100,1個10和9個1,十進位制基數 個位1,高位 低位 10 二進位制基數 個位1,高位 低位 2,基數為 ...

輸入十進位制整數num轉化成二進位制字串輸出

十進位制數num轉換為 復二進位制數的 製為 bai include iostream du include bitset intmain 擴充套件資料 庫函式 中使用的比zhi特集 c是語言的zd類庫dao的副本,用於輕鬆管理一系列位元集,而不需要程式設計師自己編寫 除了訪問指定索引的位之外,位集...

E5DBOH就是十進位制轉化成二進位制,八進位制,十六進位制

樓主的題目有點問題。e5 若是合法的資料,它只能是十六進位制的數。e5 h 11100101 b 345 o 229 d e5也不是10進位制啊親 十進位制,二進位制還有八進位制,十六進位制中的d,b,o,h分別指什麼?這四個字母分別代表不同進位制的字尾 區別如下 d decimal 表示這個數是十...