delphi單精度浮點數計算程式

時間 2021-08-11 18:10:21

1樓:匿名使用者

這個是ieee754 轉換的吧., 給你個**.

function ieee754dtof(const adata: dword): single;

vars, m, e: integer;

// i: integer;

begin

trys:= (adata and  $80000000) shr 31;

e:= (adata and $7f800000) shr 23;

m:= adata and  $7fffff;

result:= power(-1, s) * (1 + m/$7fffff) * power(2, e-127);

except

result:=0;

end;

end;

2樓:匿名使用者

varbuf : array[0..1] of word; //unsignle 16bit int

begin

buf[0] := $0000;

buf[1] := $4260;

showmessage( floattostr( psingle(@buf[0])^));

end;

3樓:匿名使用者

edit2.text :=inttostr(strtoint64(('$'+edit1.text)));

浮點數所能表示的數值範圍和精度撒於什麼

smile灬微光丶 浮點數所能表示的數值範圍和精度取決於階碼和尾數。階碼 採用指數的實際值加上固定的偏移值的辦法表示浮點數的指數,好處是可以用長度為 個位元的無符號整數來表示所有的指數取值,這使得兩個浮點數的指數大小的比較更為容易,實際上可以按照字典序比較兩個浮點表示的大小。這種移碼錶示的指數部分,...

關於c語言浮點數問題,c語言關於浮點型資料範圍的問題

標準c語言支援的浮點數符合ieee格式,是二進位制浮點數,並不是一個位元組存放一個十進位制小數位的。關於ieee浮點數,可以參考這裡 至於這裡的輸出問題,如ls所說,是printf預設輸出問題。如果使用 f和 lf格式控制符輸出浮點數,預設輸出保留6位十進位制小數,自動四捨五入。用 nf可以控制輸出...

C語言中怎樣判斷輸入的是整數還是浮點數

scanf s,str 先存成字串if null strchr str,等於null是沒有找到小數點else sscanf str,lf,b 再從字串格式化成浮點型例如 inti floatf doubled 輸入i是整數,輸入f是float型,輸入d是double型 2 看輸入格式scanf d ...