十進位制小數轉化為二進位制什麼叫所求精度為止

時間 2021-05-05 17:22:05

1樓:yty隨意

只保留小數點之後的多個小數字數以滿足精度要求,轉換後的二進位制小數只能約等於轉換前的十進位制小數。操作方法如下:

1、首先,定義兩個整型變數,儲存計算出的每位二進位制數和二進位制位數的統計。

2、定義乙個實型變數,儲存計算的十進位制小數。

3、輸入乙個十進位制小數,儲存在變數d中。

4、do-while迴圈中,將十進位制小數乘以2。

5、取十進位制數的整數部分,儲存在變數b中。

6、輸出該位的二進位制數,同時將十進位制數的整數部分減掉。

7、執行程式,輸入任意乙個十進位制小數,計算機就會輸出相應的二進位制小數(10位以內)。

2樓:匿名使用者

十進位制轉二進位制的方法:整數部分採用「除基取餘法」;小數部分採用「乘基取整法」。

在小數部分的轉換過程中,有可能出現乘積小數部分始終不為0的情況,也就是轉換過程可能無限進行下去,這時就根據精度要求來決定所取位數,這時得到的二進位制就是原十進位制的近似值。

乙個二進位制可以準確轉換成十進位制,但乙個帶小數的十進位制不一定能夠準確地用二進位制來表示。

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

3樓:仁昌居士

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

4樓:

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

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

5樓:聽不清啊

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

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

6樓:臨危不懼

整數和小數分別轉換。

整數除以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

7樓:匿名使用者

二進位制只需用兩種狀態表示數字,容易實現計算機是由電子元、器件構成的,二進位制在電氣、電子元器件中最易實現。它只有兩個數字,用兩種穩定的物理狀態即可表達,而且穩定可靠。比如磁化與未磁化,電晶體的載止與導通(表現為電平的高與低)等。

而若採用十進位制,則需用十種穩定的物理狀態分別表示十個數字,不易找到具有這種效能的元器件。即使有,其運算與控制的實現也極複雜。

二進位制的運算規則簡單加法是最基本的運算。乘法是連加,減法是加法的逆運算(利用補碼原理,還可以轉化為加法運算,類似鐘錶撥針時的計算),除法是乘法的逆運算。其餘任何複雜的數值計算也都可以分解為基本算術運算復合進行。

為提高運算效率,在計算機中除採用加法器外,也直接使用乘法器。

眾所周知,十進位制的加法和乘法運算規則的口訣各有100條,根據交換率去掉重複項,也各有55條。用計算機的電路實現這麼多運算規則是很複雜的。

相比之下,二進位制的算術運算規則非常簡單,加法、乘法各僅四條:

0+0=00×0=0

0+1=10×1=0

1+0=11×0=0

1+1=101×1=1

根據交換率去掉重複項,實際各僅3條。用計算機的脈衝數位電路是很容易實現的。

3.用二進位制容易實現邏輯運算計算機不僅需要算術功能,還應具備邏輯運算功能,二進位制的0,1分別

可用來表示假(false)和真(true),用布林代數的運算法則很容易實現邏輯運算。

4.二進位制的弱點可以克服二進位制主要的弱點是表示同樣大小的數值時,其位數比十進位制或其他數制多得多,難寫難記,因而在日常生活和工作中是不便使用的。但這個弱點對計算機而言,並不構成困難。

在計算機中每個儲存記憶元件(比如由電晶體組成的觸發器)可以代表一位數字,「記憶」是它們本身的屬性,不存在「記不住」或「忘記」的問題。至於位數多,只要多排列一些記憶元件就解決了,鑑於積體電路晶元上元件的整合度極高,在體積上不存在問題。對於電子元、器件,0和1兩種狀態的轉換速度極快,因而運算速度是很高的。

二進位制運算

1.算術運算前面已經講過,二進位制算術規則非常簡單,現舉二例加以說明。

即1110b+1011b=11001b

即1110b×1011b=10011010b

2.邏輯運算在計算機中還經常用二進位制數進行邏輯運算。邏輯運算在二進位制數字之間進行,不存在進製或借位。在邏輯運算中,二進位制數中的「1」表示「真」,「0」表示「假」。

(1)或(or)運算

或運算又稱邏輯加,運算子為「∨」或者「+」。運算規則是:

0∨0=0

0∨1=1

1∨0=1

1∨1=1

也就是說,當參加運算的邏輯值只要有乙個1,運算結果即為1,否則為0。

(2)與(and)運算

與運算又稱邏輯乘,運算子為「∧」或「×」。運算規則是:

0∧0=0

0∧1=0

1∧0=0

1∧1=1

也就是說,當參加運算的邏輯值均為1時,運算結果才為1,否則為0。

(3)非(not)運算

非運算即對每個二進位制位的邏輯值取反,運算子為在二進位制數字上方加

一橫線。運算規則是:

0=11=0(4)異或(xor)運算

異或運算即按位相加(不進製),運算子常記為,運算規則是:

00=0

01=1

10=1

11=0

可以看出,如果參加運算的邏輯值只要有乙個為1,運算結果即為1,否則為0。

下面舉例說明二進位制數的邏輯運算。

設x=10110101by=11010110b

x∨y=11110111b

x∧y=10010100b

x==d1001010y00101001bb

xy=011000i11b

十進位制數與二進位制數的轉換

我們在日常生活和工作中使用十進位制數,在計算機中使用二進位制數,因此在計算機輸入時要將十進位制數轉換為二進位制數,在計算機輸出時要將二進位制數轉換為十進位制數。這種轉換過程,是由計算機自動完成的。為簡便起見,這裡我們只介紹整數間轉換。

1 .十進位制數轉換為二進位制數整數的轉換,通常採用除2取餘法。即將十進位制數依次除以2,再把每次得到的餘數從後向前依次排列就得到相應的二進位制數。

例如:實際上,直接將十進位制數用2的n次冪更為方便。例如:

75=64+8+2+1

=26×1+26×0×24×0+23×1+22×0+21×1+20×1

=1001011b

2.二進位制數轉換為十進位制數將二進位制數每一位的數值用十進位制表達並相加即得到相應的十進位制數。

例如:11010010b=27×1+26×1+25×0+24×1+23×0+22×0+21×1+20×1

=128+64+16+2

=210

8樓:匿名使用者

呵呵~小數也是一樣的~!比如 11101.1011後面的小數後面的數的結果就是:1x2(-1)+0x2(-2)+1x2(-3)+1x2(-4)

結果等於0.5+0.125+0.0625=0.6875反過來也一樣:

比如隨便寫個數字:0.788

你就把這個數首先減去0.5,如果能減就把小數第一位定個1,如果不能減就定個0

同樣剩下的數字減去0.5的一半,也就是0.25一樣的道理,能減就為1不能減就為0

一直減到沒有數,也就是0為址

9樓:匿名使用者

就是說你所要保留幾位小數

含小數的二進位制轉10進製怎麼轉?

10樓:要當技術宅

需要準備的工具:紙,筆。

1、首先十進位制的小數轉換為二進位制,主要是小數部分乘以2,取整數部分依次從左往右放在小數點後,直至小數點後為0。例如十進位制的0.125,要轉換為二進位制的小數。

2、轉換為二進位制,將小數部分0.125乘以2,得0.25,然後取整數部分0。

3、再將小數部分0.25乘以2,得0.5,然後取整數部分0。

4、再將小數部分0.5乘以2,得1,然後取整數部分1。

5、最後則得到的二進位制的結果就是0.001。

11樓:霜寒冰聽殘荷

^乙個十進位制數:abc.def = a*10^2 + b*10^1 + c*10^0 + d*10^-1 + e*10^-2 + f*10^-3

乙個二進位制數:abc.def = a*2^2 + b*2^1 + c*2^0 + d*2^-1 + e*2^-2 + f*2^-3

這是不同進製的數值表示的根本。

例如:二進位制數1101.01轉化成十進位制

1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25

所以總結起來通用公式為:

abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3

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

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

十進位制小數轉換成二進位制小數:採用"乘2取整,順序排列"法。

具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進位制的最後一位。或者達到所要求的精度為止。

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

二進位制小數如何轉化為十進位制,如,二進位制小數如何轉化為十進位制,如

毓人 0.101 2 1 2 0 2 1 2 10 0.5 0 2 1 2 10 0.5 2 1 2 10 0.25 1 2 10 1.25 2 10 0.625 10 生活如歌 0.101b 2 1 2 3 0.625 二m進製數與z十s進製數如何轉換 3 二v進製數 十l進製數 對於j較小j的二...

二進位制和十進位制的轉化,二進位制轉化為十進位制的方法?

我不能圓滿的你。給點我的想法吧!我覺得,如果按正確的轉化方法的話,那麼各類進製中,數的大小就都是統一的了 這句是你的原話。這句是沒錯的,不管按什麼方法轉化,他們的大小是不會變化的。但是,數的大小比較不是看他們的形式,不能因為one,和1不同就說他們是不一樣的。同樣也不能說10和10一樣就說他們是一樣...

十進位制0 75轉化為二進位制是多少

聽不清啊 用乘2取整法 0.75 2 1.50 取走整數1,還剩0.5 2 1.0 取走整數1,還剩0.0 所以,0.75 10 0.11 2 小嘿嘿 先說下十進位制,就是由0,1,2,3,4,5,6,7,8,9為十個數組成的數字,當然0不能放前面的。同樣,八進位制,是由 0 8八個數字組的數字,十...