十進位制轉換為二進位制,小數部分如果是迴圈的,那麼當精確到精確度時,要不要零舍一入

2021-05-14 13:51:03 字數 4780 閱讀 6743

1樓:聽不清啊

迴圈小數限長時,除記錄迴圈節外,肯定有截尾和舍入問題,這個問題就像十進位制小數是截尾還是四捨五入一樣,由使用者根據需要或習慣具體而定的。

10進位制轉2進位制小數點部分 我就想知道遇到小數算不完時,怎麼辦?

2樓:匿名使用者

因為計算機中資料有位數限制,所以算到位數上限時就不繼續算了。

比如float型別,算到23位後就不算了。就用這23位來近似表示這個10進位制數。

3樓:湛藍水晶

到你要求的精度就停止計算

4樓:十三少一

對於十進位制小數部分,採用乘2取整法,即對十進位制純小數乘以2,摘除乘積中的整數部分後保留小數部分再乘以2,如此繼續下去,直至乘積小數部分為零或者得到要求的精度為止。

5樓:zwt名一濤

你的十進位制數的小數點會面只要不是一直迴圈下去,就能算我,那要看你的十進位制數了。

6樓:目標月薪

計算機也有算到完為止,但你計算機計算到它所能表達有效值之後就不再計算之後的數了。

就如 int a = 1/2;printf(「%d」,a);

a的值是 0。

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

7樓:晨—光

方法:乘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。

8樓:逮蘭祖嫣

十進位制小數轉換成二進位制小數採用"乘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

9樓:匿名使用者

0.5(d)

=2^(-1)

=0.1(b)

10樓:匿名使用者

將小數部分乘以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方式計算出,然後再用小數點接到一起作為二進位制的結果

11樓:早起的蟲蟲吃鳥

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

12樓:匿名使用者

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

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

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

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

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

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

十進位制轉化為二進位制,小數點後面的(小數部分)怎麼轉?

13樓:

小數轉換方法———乘基取整法

把十進位制小數乘以2,取其積的整數部分作對應二進位制小數的最高位係數k -1 再取積的純小數部分乘以2,新得積的整數部分又作下一位的係數k -2 ,再取其積的純小數部分繼續乘2,…,直到乘積小數部分為0時停止,這時乘積的整數部分是二進位制數最低位係數,每次乘積得到的整數序列就是所求的二進位制小數。這種方法每次乘以基數取其整數作係數。所以叫乘基取整法。

需要指出的是並不是所有十進位制小數都能轉換成有限位的二進位制小數並出現乘積的小數部分0的情況,有時整個換算過程無限進行下去。此時可以根據要求並考慮計算機字長,取定長度的位數後四捨五入,這時得到的二進位制數是原十進位制數的近似值。

如何將二進位制的迴圈小數轉化為十進位制,例如1.0101,迴圈部分為101 30

14樓:霸氣

小數點前面的只抄有1,所

襲以整數部分是1乘以2的0次方等於1,小數點後面就是0.01010101一直迴圈下去,對於小數部分,轉化為十進位制要乘以2的負冪次方,小數點後第一位0乘以2的-1次方,然後小數點後第二位1乘以2的-2次方,一直乘下去,0乘以2的負冪次方都為0,而1乘以2的負冪次方是一個公比為1/4的等比數列,然後求和即可,在加上整數部分的1。希望能幫助你!

15樓:匿名使用者

。。整數部分是 :111——> 2^2+2^1+2^0, 小數部分: 0.111——>(1/2)^1+(1/2)^2+(1/2)^3

以此類推

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

16樓:仁昌居士

十進位制數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。

17樓:

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

十進位制轉二進位制時小數部分怎麼取一位有效數字

18樓:匿名使用者

小數的有效數字從小數點後第一位開始算,0也算。小數部分只取1位,注意要對第2位0舍內1入。

容十進位制的小數部分乘以2,整數是二進位制小數的第一位(0也算),把整數去掉;

小數部分再乘以2,看整數,如果是0,不再處理,如果是1,要把剛才算的二進位制小數的第一位加1,和是1不處理,否則,整數部分加1。

例如:3.5 0.5 x 2 =1 (整數部分是1,沒有小數就結束) 3.5=11.1

3.55 0.55x2= 1.1 0.1x2=0.2 整數為0不用進位 3.55=11.1 只取1位小數

3.99 0.99 x 2 = 1.98 0.98 x 2 = 1.96 整數為1要進位 3.99=11.11=100.0

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

整數和小數分別轉換。整數除以2,商繼續除以2,得到0為止,將餘數逆序排列。22 2 11 餘0 11 2 5 餘 1 5 2 2 餘 1 2 2 1 餘 0 1 2 0 餘 1 所以22的二進位制是10110 二進位制只需用兩種狀態表示數字,容易實現計算機是由電子元 器件構成的,二進位制在電氣 電子...

二進位制數11111110要轉換為十進位制數怎么樣轉

所求的數乘以2的n 1次方 n指所在的位數 然後都相加。以此類推,所的的二進位制數,都這樣做就可以了 1111 1110 0 2 4 8 16 32 64 128 254 每一位的數乘以2的n 1次方 n指所在的位數 然後都相加。答案是254 n 1開始,第一個數是7,非8 二進位制數1111111...

二進位制轉換十進位制1001的十進位制是多少

二進位制數1001轉十進位制是9。解析 二進位制轉換十進位制時,從左到右將二進位制的每位數乘以2的相應次方,之後再相加,就得到了對應的十進位制數。1001轉十進位制 1 2 0 0 2 1 0 2 2 1 2 3 9。二進位制轉換十進位制是9。根據二進位制與十進位制的 1248 換演算法 1001 ...