將1218125十進位制數轉化為二進位制數?要求寫出整數

時間 2021-09-01 00:05:58

1樓:匿名使用者

整數部分和小數部分一般分開進行計算。

121除以2餘1,所以第1位為1,商60

60除以2餘0,所以第2位為0,商30

30除以2餘0,所以第3位為0,商15

15除以2餘1,所以第4位為1,商7

7除以2餘1,所以第5位為1,商3

3除以2餘1,所以第6位為1,商1

1除以2餘1,所以第7位為1

故整數部分為1111001

0.8125乘以2=1.625>1,所以第1位為1,1.625-1=0.625

0.625乘以2= 1.25>1,所以第2位為1, 1.25-1=0.25

0.25乘以2= 0.5<1,所以第3位為00.5乘以2= 1=1,所以第4位為1故小數部分為0.1101

綜上得到121.8125的二進位制為1111001.1101

2樓:匿名使用者

因為要參加軟考了(當然也只有考試有這種魅力),我得了概浮點數轉化為二進位制表示這個最難的知識點(個人認為最難)。俺結合大量的從網上收集而來的資料現整理如下,希望對此知識點感興趣的pfan有所幫助。基礎知識:

十進位制轉十六進位制;

十六進位制轉二進位制;

ieee制定的浮點數表示規則;

瞭解:目前c/c++編譯器標準都遵照ieee制定的浮點數表示法來進行float,double運算。這種結構是一種科學計數法,用符號、指數和尾數來表示,底數定為2——即把一個浮點數表示為尾數乘以2的指數次方再添上符號。

下面是具體的規格:

符號位 階碼 尾數 長度

float 1 8 23 32

double 1 11 52 64

以下通過幾個例子講解浮點數如何轉換為二進位制數

例一:已知:double型別38414.4。

求:其對應的二進位制表示。

分析:double型別共計64位,摺合8位元組。由最高到最低位分別是第63、62、61、……、0位:

最高位63位是符號位,1表示該數為負,0表示該數為正;

62-52位,一共11位是指數位;

51-0位,一共52位是尾數位。

步驟:按照ieee浮點數表示法,下面先把38414.4轉換為十六進位制數。

把整數部和小數部分開處理:整數部直接化十六進位制:960e。小數的處理:

0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……

實際上這永遠算不完!這就是著名的浮點數精度問題。所以直到加上前面的整數部分算夠53位就行了。隱藏位技術:最高位的1不寫入記憶體(最終保留下來的還是52位)。

如果你夠耐心,手工算到53位那麼因該是:38414.4(10)=1001011000001110.0110011001100110011001100110011001100(2)

科學記數法為:1.001011000001110 0110011001100110011001100110011001100,右移了15位,所以指數為15。或者可以如下理解:

1.001011000001110 0110011001100110011001100110011001100×2^15

於是來看階碼,按ieee標準一共11位,可以表示範圍是-1024 ~ 1023。因為指數可以為負,為了便於計算,規定都先加上1023(2^10-1),在這裡,階碼:15+1023=1038。

二進位制表示為:100 00001110;

符號位:因為38414.4為正對應 為0;

合在一起(注:尾數二進位制最高位的1不要):

01000000 11100010 11000001 110 01100 11001100 11001100 11001100 11001100

3樓:所山槐

請將1ed(h)轉化為十進位制整數,並寫出計算過程

十進位制小數0.8125轉換二進位制 要求過程

4樓:心亡殘夢

小數部分

0.8125×2=1.625,取1

0.625×2=1.25,取1

0.25×2=0.5,取0

0.5×2=1,取1

十進位制:0.8125=二進位制:0.1101

擴充套件資料:

1. 十進位制整數轉換為二進位制整數

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數。

如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

2.十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積。

再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進位制的最後一位。或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

5樓:足壇風行者

十進位制小數0.8125轉換二進位制的值是:0.1101,計算過程:

0.08125*2=1.625,取1留下0.625繼續乘2;

0.625*2=1.25,取1留下0.25繼續乘2;

0.25*2=0.5,取0留下0.5繼續乘2;

0.5*2=1,取1結束。

最終十進位制0.8125換算成二進位制是0.1101。

擴充套件資料計算機中的十進位制小數轉換二進位制的方法如下:

計算機中的十進位制小數用二進位制通常是用乘二取整法來獲得的。

比如0.65換算成二進位制就是:

0.65 × 2 = 1.3 取1,留下0.

3繼續乘二取整0.3 × 2 = 0.6 取0, 留下0.

6繼續乘二取整0.6 × 2 = 1.2 取1,留下0.

2繼續乘二取整0.2 × 2 = 0.4 取0, 留下0.

4繼續乘二取整0.4 × 2 = 0.8 取0, 留下0.

8繼續乘二取整0.8 × 2 = 1.6 取1, 留下0.

6繼續乘二取整0.6 × 2 = 1.2 取1,留下0.

2繼續乘二取整.......

一直迴圈,直到達到精度限制才停止(所以,計算機儲存的小數一般會有誤差,所以在程式設計中,要想比較兩個小數是否相等,只能比較某個精度範圍內是否相等)。這時,十進位制的0.65,用二進位制就可以表示為:

0.1010011。

6樓:匿名使用者

小數部分

0.8125×2=1.625,取1

0.625×2=1.25,取1

0.25×2=0.5,取0

0.5×2=1,取1

(0.8125)10=(0.1101)2

7樓:一角錢半分貨

string s1 = t1.value, s2 = t2.value;//s1是十進位制數,s2是進位制 就這題而言是2

int n1 = 0, n2 = 0, x = 1, resoult = 0;

int.tryparse(s1, out n1);

int.tryparse(s2, out n2);

while (n1 >= n2)

resoult += n1 * x;

t3.value = resoult.tostring();

這個**是asp.net 基於 整數編寫的 原理一樣,需要稍作調整.僅供參考,隨手之作

將十進位制數121轉化為二進位制數是多少?

8樓:懶散六媽

十進位制數121轉化為二進位制數是1111001十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法121÷2=60 ,餘1;

60÷2=30,餘0;

30÷2=15,餘0;

15÷2=7,餘1;

7÷2=3,餘1;

3÷2=1,餘1;

最後餘1

讀數:從最後的結果往上讀每一次計算的餘數即1111001

9樓:文史一家人

121轉化成二進位制數是1111001。一個十進位制整數轉換為二進位制整數通常採用除二取餘法,即用2連續除十進位制數,直到商為0,逆序排列餘數即可得到二進位制數,簡稱除二取餘法。

計算方法:

121÷2=60 ,餘數1;

60÷2=30,餘數0;

30÷2=15,餘數0;

15÷2=7,餘數1

7÷2=3,餘數1

3÷2=1,餘數1

1÷2=0,餘數1

將餘數逆序排列即可得到結果為1111001。

擴充套件材料:

十進位制轉換成任意進位制的方法

十進位制數轉換成r 進位制數(r代表其他進位制,如二進位制、十六進位制、八進位制等),須將整數部分和小數部分分別轉換。

1、整數轉換——除r取餘法規則:

(1)用r 去除給出的十進位制數的整數部分,取其餘數作為轉換後的r 進位制資料的整數部分最低位數字;

(2)再用r去除所得的商,取其餘數作為轉換後的r 進位制資料的高一位數字;

(3)重複執行(2)操作,一直到商為0結束。

2、小數轉換——乘r取整法規則:

(1)用r 去乘給出的十進位制數的小數部分,取乘積的整數部分作為轉換後r 進位制小數點後第一位數字;

(2)再用r 去乘上一步乘積的小數部分,然後取新乘積的整數部分作為轉換後r 進位制小數的低一位數字;

(3)重複(2)操作,一直到乘積為0,或已得到要求精度數位為止。

10樓:香料魔法

121(十進位制)=1111001(二進位制)計算方式如圖所示:

121÷2=60餘1

60÷2=30餘0

30÷2=15餘0

15÷2=7餘1

7÷2=3餘1

3÷2=1餘1

還餘1讀數的時候,從最後的結果往上讀每一次計算的餘數就是的出來的結果。

也可以使用公式:bcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)進行計算

擴充套件資料二進位制轉十進位制的方法

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

用2整除十進位制的整數,然後得到一個商和餘數,再用2去除得到的商,又可以得到一個商和餘數,如此一直進行下去,直到商小於1時停止。

把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

11樓:

121(十進位制) = 1111001(二進位制)。

演算法:用121除以2然後取它的餘數。

即:121 除 2 取 餘,直到小於2,即:121/2 = 60 餘1 60/2 = 30 餘 0 30/2 = 15 餘 0 15/2 = 7 餘17/2 = 3 餘 1 3/2 = 1 餘1

將餘數從後往前串起來,就得到1111001。

十進位制轉化十六進位制,十進位制轉化十六進位制

可以先轉換成二進位制然後再轉換成十六進位制 最終結果為 12e3cf1eah 求超久的,我算出來是25c79d3cc 十進位制轉化為十六進位制怎麼算 十進位制轉化為十六進位制計算方式,簡單說就是整數除以16取餘,直到商為0為止,然後從最後一個餘數讀到第一個 十六進位制轉化為十進位制計算方式,按權 相...

十進位制轉換十六進位制,十進位制轉化為十六進位制怎麼算

對於整數部分,用被除數反覆除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。例如將487710轉成十六進位制 4877 1...

將十進位制數轉換為十六進位制數使用易語言哪個命令名

呵呵。朋友你這個要用程式集來完成,我以前寫過這樣的程式,送給你研究吧,可能我的程式集和你想做的有點出入但是,大概就是這個意思,你再研究修改下就可以了,希望對你有幫助。版本 2 子程式 按鈕1 被單擊 區域性變數 a,文字型 a 到文字 到十進位制 編輯框1.內容 編輯框2.內容 取十六進位制文字 到...