為什麼十進位制數轉換成二進位制小數,要求轉換後精度

2021-03-03 22:07:54 字數 5886 閱讀 6522

1樓:聽不清啊

因為絕大多數的十進位制小數,轉換為二進位制後都是是無限迴圈小數。而計算機中只能以有限位儲存資料。

將十進位制數0.39轉換成二進位制數,要求精度達到0.1%,怎麼確定精度

2樓:仁昌居士

十進位制數0.39轉換成二進位制數,要求精度達到0.1%,精度為0.001,即二進位制數0.011。

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

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

十進位制數0.39轉換成二進位制數,要求精度達到0.1%,即保留有效位數為0.

001。0.39*2=0.

78,整數部分為0,小數部分為0.78。再0.

78*2=1.56,整數部分為1,小數部分為0.56。

再0.56*2=1.12,整數部分為1,小數部分為0.

12。即十進位制數0.39=二進位制數0.

011。

3樓:

一個十進位制精確到0.1%,等於二進位制數精確到小數點後10位十進位制小數轉化為二進位制小數時,會出現無法用有限位小數表示的情況,這時就要根據精度要求,確定保留幾位小數。1位小數:

1100.1, 等於十進位制數12.5,誤差 -0.

13位小數:1100.101, 等於十進位制數12.

625,誤差 +0.0254位小數:1100.

1001, 等於十進位制數12.5625,誤差 -0.03755位小數:

1100.10011, 等於十進位制數12.59375,誤差 -0.

00625由此可見,轉化出來的二進位制小數的位數越多,誤差越小,精確度越高,但小數位數過長也很麻煩,這時就要根據需要進行取捨。十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:

用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數 部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

十進位制轉化為二進位制小數部分。什麼叫位數精確

4樓:匿名使用者

將十進位制數來的純小數

(不包源括乘後所得的整數部分)反覆乘以2,直到乘積的小數部分為0或小數點後的位數達到精度要求為止。

所謂小數點後的位數達到精度要求,就是指小數部分為0,有的小數永遠也不為0呢?那就按照題目要求保留幾位就行了,這時候就「為止」了。

說白了,這就像小學數學裡的「計算結果保留幾位小數」一樣啊。

5樓:匿名使用者

十進位制來

小數→二進位制小數自:(1)把十進位制小數乘以2,得到積,把積的整數部分提出;(2)再用所得積的小數部分乘以2,得到積,把積的整數部分提出;(3)重複步驟2;(4)乘以2過程中提出的各個整數部分組成轉換後的二進位制小數。權的確定規則:

最先提出的整數是二進位制小數的最高位。實際上,除了象0.5,0.

25等這些每次乘2尾數都為0的小數能化為有限二進位制小數外,絕大部分都只能化為二進位制的無限迴圈小數。這種情況下,你只要取足夠精確的位數就夠了。

休閒看電影就到:速雷看看、異火網影院

6樓:匿名使用者

先看看下列二進抄制

和襲十進位制小數的對應關係bai:

二進位制du

zhi 十進位制

二進位制dao 0.1 = 十進位制 0.5

二進位制 0.01 = 十進位制 0.25

二進位制 0.001 = 十進位制 0.125二進位制 0.0001 = 十進位制 0.0625這樣,有的十進位制小數不一定能正好表達為二進位制,如:

二進位制的0.011 = 十進位制的 0.375二進位制的 0.

010 = 十進位制的 0.250二進位制的 0.0101 十進位制的 0.

3125如果要把十進位制小數0.3表達為二進位制,並且精度為小數3位,則等於0.01;如果精度為小數4位,則表達為 0.

0101

為什麼 試將十進位制小數0.79轉化為二進位制小數, 要求轉化後誤差小於0.1% .

7樓:匿名使用者

0.1%=1/1000>1/1024=1/2^10,當為2^(-10)時,誤差略小於0.1%

十進位制小數怎麼轉換為二進位制小數

8樓:晨—光

方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分

為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。

讀數要從前面的整數讀到後面的整數,下面舉例:

例1:將0.125換算為二進位制

得出結果:將0.125換算為二進位制(0.001)2

分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;

第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;

第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;

第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。

9樓:逮蘭祖嫣

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

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

【例1108】把(0.8125)轉換為二進位制小數。

解:例1109(173.8125)10=()2解:

由〔例1107〕得(173)10=(10101101)2由〔例1108〕得(0.8125)10=(0.1101)2把整數部分和小數部分合並得:

(173.8125)10=(10101101.1101)2

10樓:匿名使用者

0.5(d)

=2^(-1)

=0.1(b)

11樓:匿名使用者

將小數部分乘以2,取結果的整數部分為二進位制的一位。 然後繼續取結果的小數部分乘2重複,一直到小數部分全部為0結束 (有可能遇到不停迴圈乘不盡的情況出現)

舉例:0.8125換成二進位制方法如下:

0.8125x2 = 1.625...1

0.625x2 = 1.25....1

0.25x2 = 0.5.....0

0.5x2 = 1 .....1

至此小數部分已經全為0 (1.0000..) ,所以十進位制0.8125對應二進位制的 0.1101

而乘不盡的無限迴圈二進位制小數舉個例子如十進位制的0.68, 你可以嘗試按上面的方法乘一下 :)

另外十進位制的整是用除2的方式的,想必你已經知道了。在換算時需要將整數部分用除2方式計算出,小數部分用乘2方式計算出,然後再用小數點接到一起作為二進位制的結果

12樓:早起的蟲蟲吃鳥

乘二取整法,0.5*2後整數部分是1,所以小數點後是1整數部分因為是1所以為0所以整體結果為:0.1

13樓:匿名使用者

進位制轉換是人們利用符號來計數的方法,包含很多種數字轉換。進位制轉換由一組數碼符號和兩個基本因素(「基」與「權」)構成。給你一個十進位制,比如:6,如果將它轉換成二進位制數呢?

10進位制數轉換成二進位制數,這是一個連續除2的過程:

把要轉換的數,除以2,得到商和餘數,

將商繼續除以2,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

聽起來有些糊塗?我們結合例子來說明。比如要轉換6為二進位制數。

「把要轉換的數,除以2,得到商和餘數」。

十進位制的小數怎麼轉換成二進位制

14樓:薔祀

可以採用乘2取整法,即將小數部分乘以2,然後取整數部分,

剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分為零為止。

如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數。

下面舉例:

例1:將0.125換算為二進位制,結果為:將0.125換算為二進位制(0.001)2 。

分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25。

第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5。

第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0。

第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。

擴充套件資料:

十進位制整數轉換為二進位制整數計算的方法:十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:

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

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

如:255=(11111111)b

255/2=127*****餘1

127/2=63*****=餘1

63/2=31*****==餘1

31/2=15*****==餘1

15/2=7*****===餘1

7/2=3*****====餘1

3/2=1*****====餘1

1/2=0*****====餘1

789=1100010101(b)

789/2=394 餘1 第10位

394/2=197 餘0 第9位

197/2=98 餘1 第8位

98/2=49 餘0 第7位

49/2=24 餘1 第6位

24/2=12 餘0 第5位

12/2=6 餘0 第4位

6/2=3 餘0 第3位

3/2=1 餘1 第2位

1/2=0 餘1 第1位

原理:眾所周知,二進位制的基數為2,十進位制化二進位制時所除的2就是它的基數。談到它的原理,就不得不說說關於位權的概念。

某進位制計數制中各位數字符號所表示的數值表示該數字符號值乘以一個與數字符號有關的常數,該常數稱為 「位權 」 。

位權的大小是以基數為底,數字符號所處的位置的序號為指數的整數次冪。十進位制數的百位、十位、個位、十分位的權分別是10的2次方、10的1次方、10的0次方,10的-1次方。二進位制數就是2的n次冪。

按權求和正是非十進位制化十進位制的方法。

下面我們開講原理,舉個十進位制整數轉換為二進位制整數的例子,假設十進位制整數a化得的二進位制數為edcba 的形式,那麼用上面的方法按權, 得:

a=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4)

假設該數未轉化為二進位制,除以基數2得:

a/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2

注意:a除不開二,餘下了!其他的絕對能除開,因為他們都包含2,而a乘的是1,他本身絕對不包含因數2,只能餘下。

商得:b(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基數2餘下了b,以此類推。

當這個數不能再被2除時,先餘掉的a位數在原數低,而後來的餘數數位高,所以要把所有的餘數反過來寫。正好是edcba。

二進位制數00111101轉換成十進位制數的步驟是怎樣的

00111101 2 61 10過程 00111101 從後往前 第一位數 1乘以 2的0次方 第二位數 0乘以2的1次方 1乘以2的2次方 1乘以2的3次方 1乘以2的4次方 1乘以2的5次方 0乘以2的6次方 0乘以2的7次方 1 0 4 8 16 32 0 0 61 所以 00111101 2...

將二進位制數100轉換成十進位制數是

題目所述是一個含有小數的二進位制轉十進位制數的問題,對於這類問題可以分兩步來 版做,首權先將整數部分轉為十進位制,整數部分的二進位制轉十進位制,可以使用位權法,如下圖所示 整數部分的二進位制數轉十進位制數 然後再將小數位的二進位制轉為十進位制數,也是使用位權法,但是注意權值是2的 n n 1,2,3...

小數二進位制01010如何轉換成十進位制小數求具體步驟

小數點後一位是1 2的一次方,第二位是1 2的平方,就這樣依次算。0.1010 1 1 2 0 1 2 2 1 1 2 3 0 1 2 四次方 0.1010 1010 10000 16 10 16 0.625 含小數的二進位制轉10進位制怎麼轉?需要準備的工具 紙,筆。1 首先十進位制的小數轉換為二...