日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制

發(fā)布時間:2025/4/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

#include

#include

void main()

{

int i=0,n,j,a[20],b[20],k,c=0;

double m,x,d;

printf("input number to convert:");

scanf("%lf",&x);

printf("jinzhi to convert(1

scanf("%d",&n);

if(x<0)

m=fabs(x);

else

m=x;

k=(int)m;//強制類型轉換,可以使用k=(int)m;代替,從而更加的一目了然

while(k)//判定需要轉換的數(shù)是否變?yōu)?

{

a[i++]=k%n;//取余,進行進制轉換,但是順序與正確值相反

k/=n;//轉換一位之后進行相應的變化

}

if(m!=(int)m)//選擇性計算,如果是整數(shù)就不用進行這一步的計算了,這樣可以節(jié)約程序的運行時間

{

d=m-(int)m;//取小數(shù)部分

while(d!=0)

{

b[c]=(int)(d*n);//算法為×N取整

d=d*n-b[c];

c++;

if(c>=10)

break;//主要是控制小數(shù)后面萬一出現(xiàn)無限小數(shù)的時候好跳出循環(huán)以免出現(xiàn)死循環(huán)

}

}

printf("轉換結果為:");

if(x<0)

printf("-");

for(j=i-1;j>=0;j--)//反序輸出,大于10的數(shù)字進行相應的變化

{

if(a[j]==10)

printf("A");

else

if(a[j]==11)

printf("B");

else

if(a[j]==12)

printf("C");

else

if(a[j]==13)

printf("D");

else

if(a[j]==14)

printf("E");

else

if(a[j]==15)

printf("F");

else

printf("%d",a[j]);

}

if(m!=(int)m)//選擇性輸出,這樣可以節(jié)約輸出時間和程序的運行時間

{

printf(".");

for(j=0;j

{

if(b[j]==10)

printf("A");

else

if(b[j]==11)

printf("B");

else

if(b[j]==12)

printf("C");

else

if(b[j]==13)

printf("D");

else

if(b[j]==14)

printf("E");

else

if(b[j]==15)

printf("F");

else

printf("%d",b[j]);

}

}

if(c>=10)//如果是無限小數(shù)則在后以省略號表示

printf("......");

printf("\n");//輸出換行,以使程序的輸出結果美觀

}

總結

以上是生活随笔為你收集整理的c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。