基本問題之型別轉換,浮點數的表示

2021-06-22 03:38:53 字數 631 閱讀 7886

補碼:正數的補碼為本身,負數的補碼為反碼

[+0]補 = [+0]反 = [+0]原 = 00000000

[-0]補 = 11111111 + 1 = 00000000

移碼也就是補碼的反符號, 移碼與補碼互為相反數,只有符號位不同

對十進位制小數乘2得到的整數部分和小數部分,整數部分是相應的二進位制數碼,再用2乘小數部分(之前乘後得到新的小數部分),又得到整數和小數部分.

如此不斷重複, 直到小數部分為0或達到精度要求為止.第一次所得到為最高位, 最後一次得到為最低位

對於任意乙個數n,可以表示為n = s * 2^p。s,p均為二進位制。

其中s為尾數,表示n的全部有效位數;p為階碼,指明小數點的位置。 p可變時,n即可稱為浮點數。

float32裡,23位表示s,尾數,是小數部分。8位表示p,階碼,是整數部分。符號位一位。 

double64裡,52位表示s,小數部分。11位表示p,整數部分。符號位一位,0為正,1為負。

浮點數的表示

在定點數表示中存在的乙個問題是,難以表示數值很大的資料和數值很小的資料。例如,電子的質量 9 10 28克 和太陽的質量 2 1033克 相差甚遠,在定點計算機中無法直接表示,因為小數點只能固定在某乙個位置上,從而限制了資料的表示範圍。為了表示更大範圍的資料,數學上通常採用科學計數法,把資料表示成乙...

浮點數的表示

日期 2010年6月 6日 1.前幾天,我在讀一本c語言教材,有一道例題 includevoid main void 執行結果如下 num的值為 9 pfloat的值為 0.000000 num的值為 1091567616 pfloat的值為 9.000000 我很驚訝,num和 pfloat在記憶...

浮點數的表示

浮點數,是指小數點在資料中的位置可以左右移動的資料。它通常被表示成 n m re 這裡的m mantissa 被稱為浮點數的尾數,r radix 被稱為階碼的基數,e exponent 被稱為階的階碼。計算機中一般規定r為2 8或16 是乙個確定的常數,不需要在浮點數中明確表示出來。因此,要表示浮點...