浮點數相加的程式怎樣做 C或者C

2025-01-03 20:45:10 字數 2024 閱讀 8898

1樓:網友

不知道樓主需不需要規格化小數。

提取階碼可以這樣,就32位浮點數來說。

第31位是符號位,然後跟著8位是階碼,第30位是階碼符號位,跟著7位是階碼值,可以這樣。

char power1,power2;

unsigned int tail1,tail2

float n1,n2;

power1 = char)((unsigned int)n1 <<1) >24);

power2 = char)((unsigned int)n2 <<1) >24);

tail1 = unsigned int)n1 >>23) &0x7fffff;

tail2 = unsigned int)n2 >>23) &0x7fffff;

首先兩個相加。

power1 +=power2;

然後兩個相乘。

tail1 *=tail2

2樓:匿名使用者

#include

void main()

float a,b,c;

printf("請輸入要相加的2個數:");

scanf("%f%f",&a,&b);

c=a+b;

printf("%f",c);

可以在%f的f之前加。x來決定小數點後有x位,預設為6位。

3樓:小在車

提取階碼可以這樣,就32位浮點數來說。

第31位是符號位,然後跟著8位是階碼,第30位是階碼符號位。

符號 階碼 尾數。

#include

union number

float a1;

unsigned int a2;

load;void main()

double z,x;

cout<<"請輸入第乙個數:";

cin>>;

double b1,b2,m1,m2,m3;

int k,i,m=1;

b1=;if(b1==0)

cout<>;

double c1,c2,n1,n2,n3;

int j,l,n=1;

c1=;if(c1==0)

coutn1=c2/8388608; /移位,把高位(30-22)降位到(7-0)

j=n1-126;

cout<<<"的階碼為:"n2=;//取尾數。

n2=n2+8388608;

coutn3=n2/16777216;

x=n3;cout<<"尾數為:"* for(i=1;im=m*2;

coutn1=c2/8388608; /移位,把高位(30-22)降位到(7-0)

j=n1-126;

coutn2=n2+8388608;

coutn3=n2/16777216;

x=-n3;

cout<<"尾數為:"* for(i=1;im=m*2;

cout<<-m3*m; *

cout<<"兩數和為:";

for(i=1;im=m*2;

for(l=1;ln=n*2;

double com;

com=z*m+x*n;

cout<

初學c,不知道怎麼處理浮點數相加一類,求解謝謝。。

4樓:還存在那麼一些

先把1/k=1/x+1/y化成xy=(x+y)k當1<=x0<=x時有1/k=1/x+1/y<=1/x0+1/y...

又∵x>=y

1/k=1/x+1/y<=1/y+1/y=2/y,即y<=2k...

又1/k=1/x+1/y>1/y,即k

#include

void main()}

5樓:

提供個思路吧, 首先給乙個數,可以找到 他的兩個二分之一 加起來。

然後 比如12 就找到兩個24分之一,然後依次將24遞減,看看能不能找到另乙個整數加起來剛好也對的。

C語言關於分數的浮點數值的計算,怎樣用c語言寫一個將小數轉化成最簡分數的演算法

include int main 怎樣用c語言寫一個將小數轉化成最簡分數的演算法 演算法很簡單,程式中已經說明。重要的是系統對浮點數是有修正的,導致結果出現問題。如何解決,詳見程式。include stdafx.h vs 預設使用 include include include pragma war...

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

先存成字串,判斷有沒有小數點,再從字串格式化成整型或浮點型。include include include char strchr const char str,int ch int main int argc,char argv else system pause return 0 scanf s...

C語言 呼叫自定義交換函式,完成浮點數從小到大排列

正如樓上所說,這個方法是很多的。我舉一個例子 include void swap double x,double y 定義交換函式 main for i 0 i 3 i 氣泡排序for j 0 j 3 i j if st j st j 1 swap st j st j 1 for i 0 i 5 i...