将正小数转化为2-9进制小数的实现方法

砗磲之灵

砗磲之灵

2016-02-19 09:19

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享将正小数转化为2-9进制小数的实现方法,希望可以对大家能有小小的帮助。

将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。例如:若十进制小数为0.795,则输出:

 十进制正小数 0.795000 转换成 2 进制数为: 0.11001011
 十进制正小数 0.795000 转换成 3 进制数为: 0.21011011
 十进制正小数 0.795000 转换成 4 进制数为: 0.30232011
 十进制正小数 0.795000 转换成 5 进制数为: 0.34414141
 十进制正小数 0.795000 转换成 6 进制数为: 0.44341530
 十进制正小数 0.795000 转换成 7 进制数为: 0.53645364
 十进制正小数 0.795000 转换成 8 进制数为: 0.62702436
 十进制正小数 0.795000 转换成 9 进制数为: 0.71348853
以下代码提供了这个功能。其中,dTestNo表示待转的十进制小数。iBase表示进制数。
代码如下:

#include stdio.h

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

void fun(double dTestNo, int iBase)
{
 int iT[8];  //转化后的小数保留8位数
 int iNo;

 printf("十进制正小数 %f 转换成 %d 进制数为: ",dTestNo, iBase);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

 for(iNo=0;iNo8;iNo++)  //分别得出每位数字  小数部分
 {
  dTestNo *= iBase;
  iT[iNo] = (int)dTestNo;  //得出整数部分存放起来
  if(dTestNo=1) dTestNo -= iT[iNo];  //减去整数部分
 }

 printf("0.");
 for(iNo=0; iNo8; iNo++) printf("%d", iT[iNo]);
 printf("n");
}

void main ( )

 double dTestNo= 0.795;
 int iBase;

 for(iBase=2;iBase=9;iBase++)
  fun(dTestNo,iBase);
 printf("n");
}

展开更多 50%)
分享

猜你喜欢

将正小数转化为2-9进制小数的实现方法

编程语言 网络编程
将正小数转化为2-9进制小数的实现方法

怎样将Excel转化为PDF

excel
怎样将Excel转化为PDF

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

将ado方便的转化为XML文件

ASP
将ado方便的转化为XML文件

java实现整数转化为中文大写金额的方法

编程语言 网络编程
java实现整数转化为中文大写金额的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何将word转化为pdf?

word
如何将word转化为pdf?

Atomik 2.0将QuarkXPress转化为XML

Web开发
Atomik 2.0将QuarkXPress转化为XML

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

详解SQL Server 2008工具SQL Server Profiler

详解SQL Server 2008工具SQL Server Profiler

TopList标签和JavaScript结合两例

TopList标签和JavaScript结合两例
下拉加载更多内容 ↓