計算器是如何實現0 1的?

時間 2021-05-12 04:32:16

1樓:

應該是給截尾了,也就是顯示前做了約等於處理,這個約等於的界限已經規定好了。

你在python裡試下

0.40.4*2

0.4*3

0.4*4

你會發現到後面出現了浮點的尾數,前面沒有,所以可以判斷在一定範圍內,呈現的結果做了約等於簡化。

2樓:

計算器採用了一種叫做定點數的資料型別。定點數是通過約定小數點的位置來實現小數的。

打個比方:

我們在計算器中用8個空間來儲存數字2.33。此時,我們規定小數點在第4位

那麼在儲存空間裡這個數字便被存為了 [+002][3300]

整個數字被分為了整數部分與小數部分,兩個部分都擁有準確的值,所以才能精確的表達小數

但這樣的做法也有一些不足--精度與表示範圍不能共存

如果我們想表達0.00001這樣高精度的小數,就至少要讓5位儲存去表達小數部分,而這樣做,整數部分最大也就只能表達兩位數--也就是99,拿去做小學數學都不夠用。所以在現代計算機中定點法一般只用來表示整數

為了解決這個問題,人們又搞出了乙個浮點數,也就是大多數計算機裡用來表達小數的方法。浮點數是利用科學計數法來表達小數的。還是之前的8位空間,這次我們拿出2位來表達指數,於是2.

33就被存為了 [+00233] [-2],即 。

至於浮點數精度丟失的問題,可以看看這篇:

Ricas:浮點數精度之謎

3樓:馬遙

我都沒注意計算器用的是定點數,給題主乙個贊。

這個問題簡單來說這就是浮點數定點數的區別。

浮點數

優點:能夠用統一的方法,表示範圍變化非常大的數字,以float標準來說,32個bit就可以表示從10的負100多次方到10的正100多次方這麼大範圍。

缺點:浮點誤差問題,無法精確表示某些小數。特性類似科學計數法,只能表示「有限個有效數字」。

不知是優點還是缺點:現代CPU整合了FPU,FPU是專門給浮點運算加速的協處理器。因為有了它,現代CPU計算浮點數是非常快的。

定點數

優點:能精確表示取值範圍內的任意數字。

缺點,占用同樣bit數時表示的範圍很小。

浮點數肯定是主流,但是它使用時有一些注意事項,而且在某些場景下也會被特意換成定點數。

舉例一:初學者都要學習判斷兩個小數是否相等的方法,但是有時候會忘記:

// a和b都是float型別,判斷二者是否相等用

if ( Abs(a-b) < EPSILON其中EPSILON是乙個很小的數,根據不同場景取0.000001或0.0001等

舉例二:除了以上最基本的用法,浮點數在影象縮放等情景下也存在取整精度問題。之前認識一位大牛想改進UI縮放的效果,將浮點數全部改成了自定義的32位定點數,16位表示整數,16位表示小數。

再配合改進過的演算法,縮放誤差問題迎刃而解。

具體使用時,如果需要用定點數,既可以使用第三方的定點數程式庫,也可以自己封裝乙個適合某個特定軟體的定點數型別。

比如C#提供的Decimal可以提供和計算器一樣的精確表示,python定點數的庫名字也叫decimal

4樓:shuhari

不清楚計算器是怎麼實現的。如果要精確的話,對十進位制儲存有專門的BCD編碼方法,再比如某些語言內建的 Decimal 型別。還有一種可能是內部表示仍然是二進位制,但在輸出時進行了精度擷取,相當於執行 printf("%.

1f", num)。

如何用圖形計算器求導

電卓院亜紀良 圖形計算器求導的方式多種多樣,有單個點數值求導的,有在畫出的函式圖象上求導的,有繪制導函式圖象的,還有一些能直接求出導函式的,等等。我們以最常用的CASIO fx 9860系列 CASIO fx CG50 TI 84 Plus TI Nspire系枚舉例。所有的例子都是以 舉例的,數值...

為什麼晨光的計算器可以和卡西歐計算器做的這麼像?

蔫有準 我只想說模仿卡西歐的品牌太多了,尤其是學校旁邊的小賣部。方法一 官方防偽標籤,將標識卡左右反射,左側視角僅見黑色背景 卡西歐 字樣,右側視角僅見CASIO雷射防偽標識。方法二 依次按住 1,0 之後放開1,正版會顯示 1cos 盜版則只顯示 1 方法三 計算器自檢,步驟如下 同時按下 shi...

什麼是逆波蘭法計算器?

wp34s DM42,最強勁的RPN計算器 現在還買得到的RPN計算器 2018年 hp prime,hp12c,hp49系列 二手或魔改 wp34s 魔改 DM42 很貴 信利sc123 hp12cp的翻版,很便宜 德儀的部分機器也可以裝RPN外掛程式。另外,手機上也有很多RPN計算器軟體。WP3...