16进制转10进制

WCG灬Hades 2010-08-03 06:18:56
RT,要求转换成10进制小数,可以保留后1为的,应该怎么转啊!例如012c,转成10进制30.0这样的格式,应该怎么写呢!麻烦写的详细点,本人小菜,谢谢了!
...全文
75 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzf0916 2010-08-03
  • 打赏
  • 举报
回复
一个十进制整数m转换成r(二至十六)进制的字符串,不管几进制都能转,
#include "iostream.h"
#include "stdio.h"
void main( )
{
int m,r,i,s,j;
char a[80],*p=a,q;
cout<<"输入十进制的数m:";
cin>>m;
s=m;
cout<<"输入r进制的基数:";
cin>>r;
while(m!=0)
{
*p++=m%r;
i=m/r;
m=i;
}
*p='\0';
i=(p-a)/2;
m=p-a;
for(j=0,p-=1;j<i;p--,j++)
{
q=*p;
*p=*(a+j);
*(a+j)=q;
if(*p>9)
*p=*p+55;
}
cout<<"十进制的"<<s<<" = "<<r<<"进制的 ";
p=a;
while(m--)
if(*p<10)
cout<<int(*p++);
else
cout<<*p++;
cout<<endl;
}
半刻沙漏 2010-08-03
  • 打赏
  • 举报
回复
float b = 0x012c;
printf("%0.1f", b);

这样就行 刚才多此一举了
半刻沙漏 2010-08-03
  • 打赏
  • 举报
回复
int a = 0x012c;
float b = (float)a;
printf("%0.1f", b);

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧