1樓:
十進位制數0.6採用"乘2取整,順序排列"法化成二進位制,而有些數是算不完的,就需要保持需要的精度了。0.6化成二進位制,精度為小數後四位,結果就是0.1001。
具體計算過程如下:0.6x2=1.
2 取整1,0.2x2=0.4 取整0,0.
4x2=0.8 取整0,0.8x2=1.
6 取整1,0.6x2=1.2 取整1..........。
保留四位精度,得二進位制轉換結果0.1001。
擴充套件資料十進位制小數轉換成二進位制小數計算過程:
用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然後將得到的整數進行正向排序,即可得到轉換後的二進位制小數。
2樓:無法無天
1.首先,小數化成二進位制是用【乘基數取整法或者叫乘二取整法】。
2.例如: 第一步 0.6 * 2=1.2,取整就是1,所以最高位就是1【或者說從左往右數的第一位是1】;
第二步就是把小數後的數提取出來就是 0.2,然後用 0.2 * 2=0.4,這時小數部分第二位就是0;
第三步提取小數部分是0.4,就有 0.4 * 2=0.8,小數部分第三位就是0;
第四步 0.8 * 2=1.6 ,小數部分第四位就是1;
第五步 0.6 *2 =1.2【又是0.
6已經重複了,進入死迴圈】,一直如此重複下去,終止條件是乘出來的結果為0或者達到你需要的精度為止。【目前只是計算了五步,顯然0.6的二進位制為:
0.1001100110011001......】
3.這時你會發現上面的步驟會一直迴圈的計算下去【不考慮達到精度的問題】,實際上這永遠算不完!這就是著名的浮點數精度問題。
因為計算機的浮點數是用有限的位數來表達的,所以浮點數永遠無法在計算機精確表示,這也就是計算機c/c++語言判斷浮點數是否相等,而不直接用==的原因。
4.c語言**如下:
#include
#include
#define num 2
#define zero 0.000001
//整數部分的轉換
void integer(int n)
}//小數部分的轉換
void decimal(double m)
}int main(void)
n = (long)f;//整數部分
printf("轉換成%d進位制的小數為:", num);
integer(n);
printf(".");
decimal(f - n);//小數部分的轉換
printf("\n");
return 0;
}結果如圖所示:
3樓:匿名使用者
小數點後面的都是乘法進位,整數部分都是除法
4樓:
0.10011 10011 10011………………………………迴圈的進位了
如何十進位制數0.6轉化為二進位制數是多少?
5樓:匿名使用者
0.6 *2 =1.2 取
zhi1
0.2*2=0.4 取0
0.4* 2= 0.8 取0
0.8*2=1.6 取 1
0.6*2=1.2 取1
-------無限迴圈dao-----------結果就是專 0.1001 1001 1001 ...............
保留一個迴圈就好了 為
屬0.1001
十進位制0.627轉換成2進位制是多少,轉化過程是什麼樣的?
6樓:
小數轉換的樸素一點的辦法是,不斷的取小數部分乘以2並取每次結果的個位數的值,連起來就是:
0.627 x 2 = 1.254 >= 1------------ 1
0.254 x 2 = 0.508 < 1 ------------- 0
0.508 x 2 = 1.016 >= 1 ----------- 1
0.016 x 2 = 0.032 < 1 ------------- 0
0.032 x 2 = 0.064 < 1 ------------- 0
0.064 x 2 = 0.128 < 1 ------------- 0
0.128 x 2 = 0.256 < 1 ------------- 0
0.256 x 2 = 0.512 < 1 ------------- 0
......
所以,0.627(10) = 0.10100000...(2)。這裡還可以看出 0.627 無法用二進位制的有限位數準確的表示出來。
十進位制數0.61875轉換成二進位制數是多少知道的說下謝謝
7樓:溜鬚拍馬關雲長
0.1111000110110011
8樓:
0.61875化二進位制數 化不盡
最後取近似值為 0.10011110011十進位制小數化為二進位制小數
規則:乘二取整,直到小數部分為零或給定的精度為止,順排。
例:將十進位制數0.875轉化為二進位制數
0.875
× 2=0.75 取1
× 2= 0.5 取1
×2 =1.0 取1
=0.0
結果:(0.875)10 = (0.111)2
9樓:海中城市
乘二取整就可以,直到小數部分為零或給定的精度為止,從第一個排到最後一個。
有可能是無限的:
本題答案0.1111000110110011
10樓:衣譽
答案是 0
用電腦的的計算器可以算出來。
答案是0
0.2轉換成二進位制是多少,怎麼做
11樓:哇哎西西
0.2轉換成二進位制是0.0011001。
十進位制小數轉二進位制數:"乘以2取整,順序輸出" 。
2^0+2^(-1)+2^)(-2)+2^(-3)=1+0.5+0.25+0.125+0.0625。
這樣湊數0.2=0.125+0.0625,然後就是二進位制0.0011001。
十進位制小數轉換為二進位制小數,假設一十進位制小數b化為了二進位制小數0.ab的形式,同樣按權,得:b=a(2^-1)+b(2^-2)
因為小數部分的位權是負次冪,所以我們只能乘2,得2b=a+b(2^-1)因為a變成了整數部分,我們取整數正好是取到了a,剩下的小數部分也如此。
12樓:匿名使用者
0.2化二進位制是
0.2*2=0.4,整數位為0
0.4*2=0.8,整數位為0
0.8*2=1.6,整數位為1,去掉整數位得0.60.6*2=1.2,整數位為1,去掉整數位得0.20.2*2=0.4,整數位為0
0.4*2=0.8.整數位為0
就這樣推下去!小數*2整,一直下去就行
這個數整不斷
0.0011001
約等於這個數,太小的數好多都是省略的
好像記得是這麼做的!
就是如果是整數就是除二法可以得到二進位制。
如果是小數就是除二法,得到二進位制,
13樓:匿名使用者
回答者: abczg258 正解
0.1如何轉化為二進位制
14樓:匿名使用者
0.1*16=1.6 取整數1,二進位制表示為0001
0.6*16=9.6 取整數9,二進位制表示為10010.6*16=9.6......
0.1d=0.0001100110011001.....b,是個迴圈小數。
什麼是二進位制?二進位制怎麼算,二進位制是什麼意思,怎麼算
兜轉瞬間 二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數,它的基數為2,進位規則是逢二進一。二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是逢二進一,借位規則是借一當二,由18世紀德國數理哲學大師萊布尼茲發現...
十進位制329怎麼化成二進位制。求過程
329 256 64 8 1 即為2的8次方加2的6次方加2的3次方加2的0次方。對應下來就是101001001 對於小數點之前的部分,就按照除二得餘數的方法來計算,倒序輸出 而對於小數點後面的部分,則按照乘二得整數部分來計算,順序輸出。如。25 2 12餘1 12 2 6餘0 6 2 3餘0 3 ...
什麼是二進位制原理,二進位制乘法是什麼原理?
二進位制18世紀德國數理哲學大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本 易經 中,讀到了八卦的組成結構,驚奇地發現其基本素數 0 1 即 易經 的陰爻 和 陽爻,其進位制就是二進位制,並認為這是世界上數學進位制中最先進的。20世紀被稱作第三次科技革命的重要標誌之一的計算機的發明與應用,其運...