进制转换

tsshouhu 2010-04-08 05:02:03
怎样将一个7进制转化成十进制呢?要用C++的写的,谢谢
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
aleyn 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 inflexible_lin 的回复:]
假设七进制数为256
将七进制数256/12 =21,256%10=5
然后再将25/12=2,25%10=1,
2/12=0,2%12=2.
最后用2*100+1*10+5*1
[/Quote]
上面整错了哈!假设还是七进制数256:是直接用2*7的二次方+5*7的一次方+6*7的零次方
aleyn 2010-04-09
  • 打赏
  • 举报
回复
假设七进制数为256
将七进制数256/12 =21,256%10=5
然后再将25/12=2,25%10=1,
2/12=0,2%12=2.
最后用2*100+1*10+5*1
十八道胡同 2010-04-09
  • 打赏
  • 举报
回复
所有的进制都是一样的
一直 % /
qzl123666 2010-04-09
  • 打赏
  • 举报
回复
除余法 ,比如说68十进制转为7进制。则有:
68除以7 结果为9余5
9除以7 结果为1余2
最终将结果倒过来即 7进制的125
如果从10进制的数转换为7进制的字符串,直接就有函数可以用
char *_itoa(int value, char *str, int radix);radix可以任意设定进制数
romeprince 2010-04-08
  • 打赏
  • 举报
回复
进制转换都差不多
lovesi3344 2010-04-08
  • 打赏
  • 举报
回复
mark
kxk19880524 2010-04-08
  • 打赏
  • 举报
回复

#include"stdafx.h"
#include<iostream>
#include<math.h>
using namespace std;

int Convert(int num)
{
int ReturnNum = 0, step = 0, temp;
while(num != 0)
{
temp = num % 10;
ReturnNum += temp * pow(7, step++);
num = num / 10;
}
return ReturnNum;
}

int main()
{
int num;
cout << "Input a num:";
cin >> num;
cout << "The dec num is:" << Convert(num) << endl;
return 0;
}


运行结果:
Input a num:12 //输入7进制12
The dec num is:9 //对应10进制数为9
Press any key to continue
hai040 2010-04-08
  • 打赏
  • 举报
回复
少减了个'0'...
y=x[i]-'0'+y*7;
hai040 2010-04-08
  • 打赏
  • 举报
回复
原来是字符串?
y=0;for(i=strlen(x)-1;i>=0;--i)y=x[i]+y*7;
lirg8405 2010-04-08
  • 打赏
  • 举报
回复
7进制????

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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