首页 > 其他分享 >n进制小数

n进制小数

时间:2023-01-15 18:05:35浏览次数:55  
标签:进制 数为 dTestNo iNo 十进制 小数


有这样一道题目:

将任意十进制正小数分别转换成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表示进制数。请填写缺失的部分。

void fun(double dTestNo, int iBase)
{
int iT[8];
int iNo;
printf("十进制正小数 %f 转换成 %d 进制数为: ",dTestNo, iBase);
for(iNo=0;iNo<8;iNo++)
{
dTestNo *= iBase;
iT[iNo] = ________________;//空1
if(___________________) //空2
dTestNo -= iT[iNo];
}

printf("0.");
for(iNo=0; iNo<8; 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");
}

------------------------------------------------------------------------------------------------------------------------------------------------

答案及解析:

 空1:  (int)dTestNo     //取整数部分
 空2:  dTestNo>=1.0 //当数大于1时,去掉整数部分 dTestNo -= iT[iNo];即dTestNo=dTestNo-iT[iNo];

------------------------------------------------------------------------------------------------------------------------------------------------


​​

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。







标签:进制,数为,dTestNo,iNo,十进制,小数
From: https://blog.51cto.com/softo/6008852

相关文章

  • 【BFS】LeetCode 1091. 二进制矩阵中的最短路径
    题目链接1091.二进制矩阵中的最短路径思路BFS找最短路模板题代码classSolution{publicintshortestPathBinaryMatrix(int[][]grid){if(grid[0][......
  • MySQL 5.7.20 二进制版本的安装
    安装环境:数据库版本:5.7.20操作系统版本: CentOS7.9安装步骤:1.下载并上传MySQL软件到/server/tools[root@DB_MySQL~]#mkdir-p/s......
  • 蓝桥杯 X进制减法
    题目描述进制规定了数字在数位上逢几进一。X进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某种X进制数,最低数位为二进制,第二数位为十进制,第三数位为......
  • java文件转二进制
    本工具类提供三个方法:1.文件转为二进制数组2.文件转为二进制字符串3.二进制字符串还原为文件可当做工具类直接使用。packagecom.yscredit.sz.util;importorg.springframew......
  • [oeasy]python0045_转化为10进制数_int_integrate_integer_entire_整数
    转化为10进制回忆上次内容上这次总结了四种进制函数名对应单词进制类型数字事例前缀bin()binary20b11000010boct()octal80o1410ohex()hex......
  • Redis-独立功能-二进制位数组
    二进制位数组Redis提供了SETBIT、GETBIT、BITCOUNT、BITOP四个命令用于处理二进制位数组。SETBIT命令用于为位数组指定偏移量上的二进制位设置值,GETBIT命令则用于获取位......
  • [oeasy]python0045_四种进制_binary_octal_decimal_hexadecimal
    四种进制回忆上次内容上次研究了通过八进制数值转义\ooo把(ooo)8进制对应的ascii字符输出转义序列\n、\t是转义序列\xhh也是转义序列\ooo还......
  • [oeasy]python0045_四种进制_binary_octal_decimal_hexadecimal
    四种进制回忆上次内容上次研究了通过八进制数值转义​​\ooo​​把(​​ooo​​)<sub>​​8进制​​</sub>对应的​​ascii​​字符输出转义序列​​\n​​、​​\t​​......
  • Centos 二进制安装 Prometheus
    二进制下载地址:https://prometheus.io/download/下载以linux-amd64.tar.gz结尾的文件。1.下载二进制压缩包wget-P/homehttps://github.com/prometheus/prometheus......
  • LeetCode刷题(46)~颠倒二进制位【循环/分治】
    题目描述颠倒给定的32位无符号整数的二进制位。示例1:输入:00000010100101000001111010011100输出:00111001011110000010100101000000解释:输入的二进制串0000......