当前位置:  编程技术>c/c++/嵌入式

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

    来源: 互联网  发布时间:2014-10-13

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

将任意十进制正小数分别转换成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

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

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

 for(iNo=0;iNo=1) dTestNo -= iT[iNo];  //减去整数部分
 }

 printf("0.");
 for(iNo=0; iNo


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql格式化小数保留小数点后两位(小数点格式化)
  • Js中如何分别取得的一个小数 的整数部分与小数部分?!
  • Float floatvalue,怎么取floatvalue截去小数点后两位后面的数据之后得到的值,就是只取小数点后两位
  • jquery判断小数点两位和自动删除小数两位后的数字
  • .net中取小数点之前和小数点之后值的方法
  • JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单
  • 我是java新手,现在想把一个float型的整数部分和小数部分分别输出,但是小数部分总是要多出很多位,为什么?帮我看看,谢谢
  • java使double保留两位小数的多方法 java保留两位小数
  • 小数点后保留2位
  • c#匹配整数和小数的正则表达式
  • php 小数点取法实例总结
  • 如何取得小数点后两位的数字?
  • 如何控制float类型的小数位数?
  • 怎么得到3/8的正确结果(保留3位小数)
  • linux c 字符转换成小数
  • QT里面显示小数
  • 基于oracle小数点前零丢失的问题分析
  • 如何使程序(字符界面)接受用户输入的一个浮点数,并把他的整数部分和小数部分分别输出。
  • 如何把一个浮点数分整数和小数显示?
  • 怎么得到这样的小数




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3