精华内容
下载资源
问答
  • 目录十进制转换为任意进制任意进制转换十进制 十进制转换为任意进制 //将10进制数num转换为d进制数 void convert_base(int num, int d) { int k; stack<int> stk; while (num) { k = num % d; num = ...

    十进制转换为任意进制

    //将10进制数num转换为d进制数
    void convert_base(int num, int d)
    {
        int k;
        stack<int> stk;
        while (num)
        {
            k = num % d;
            num = num / d;
            stk.push(k);
        }
    
        while (!stk.empty())
        {
            k = stk.top();
            stk.pop();
            printf("%x", k);
        }
    }
    

    任意进制转换为十进制

    #define MAXN 64     //64位CPU
    //将s的d进制数转化为10进制数
    int restore(const char s[MAXN], int d)
    {
        int res = 0;
        int k;
    
        for (int i = 0; s[i] != '\0'; i++)
        {
            if (s[i] >= '0' && s[i] <= '9') k = s[i] - '0';
            else if (s[i] >= 'A' && s[i] <= 'Z') k = s[i] - 'A' + 10;
            else k = s[i] - 'a' + 10;
    
            res = res * d + k;
        }
        return res;
    }
    
    展开全文
  • C++任意进制转换十进制我们知道任意进制转换十进制,都是乘以基数的多少次方,然后相加。 废话不多说直接上代码。#include #include using namespace std;int main() { int r,i=0,ans=0; string n; cin>>r>>...

    C++任意进制转换为十进制

    我们知道任意进制转换为十进制,都是乘以基数的多少次方,然后相加。
    废话不多说直接上代码。

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        int r,i=0,ans=0;
        string n;
        cin>>r>>n;//R表示进制,N表示要转换的数,ans表示要转换的结果。
        while(n.size()!=i)
        {
            ans*=r;       //我这里是把1看成0,把0看成1来算的。这样比较方便。其实都一样。
            ans+=n[i]-'0';
            i++;
        }
        cout<<ans<<endl;
        return 0;
     } 

    十进制转换为任意进制

    我们一般的算法都是除以基数,然后倒着取数。大家有没有发现和我们学过的栈是不是很相似。接下来废话不多说,直接上代码。

    #include<iostream>
    #include<stack>
    using namespace std;
    
    int main()
    {
        int r,n;
        stack<int> s;
        cin>>n>>r;
        while(n)
        {
            s.push(n%r);
            n/=r;
        }
        while(!s.empty())
        {
            switch(s.top())
            {
                case 10:cout<<'A';break;
                case 11:cout<<'B';break;
                case 12:cout<<'C';break;
                case 13:cout<<'D';break;
                case 14:cout<<'E';break;
                case 15:cout<<'F';break;//这些都是为了能转化为十六进制。
                default:cout<<s.top();break;
            }
            s.pop();
        }
        return 0;
     } 
    

    这也是栈的基本应用哦!最后欢迎大家来共同学习,刷题哦!

    展开全文
  • 任意进制转换10进制和10进制转换任意进制 1 . 任意进制转10进制 原理 :输入是一个字符串,由函数体转换成数(考虑是否溢出int范围)。 #include<iostream> using namespace std; #include<algorithm>...

    任意进制转换10进制和10进制转换成任意进制

    1 . 任意进制转10进制

    原理 :输入是一个字符串,由函数体转换成数(考虑是否溢出int范围)。

    #include<iostream>
    using namespace std;
    #include<algorithm>
    typedef long long LL;//这个具体要看要求,如果给的输入是否会超过一个int的范围
    #include<string>
    LL TransDec(string num, int transTarget)
    {
    	reverse(num.begin(), num.end());
    	LL ans = 0;
    	LL weight = 1;
    	LL temp = 0;
    	for (int i = 0; i < (int)num.size(); i++)
    	{
    		if (num[i] >= '0'&&num[i] <= '9')
    			temp = num[i] - '0';
    		if (num[i] >= 'A'&&num[i] <= 'F')
    			temp = num[i] - 'A' + 10;
    		ans += temp*weight;          //这里也同理,所以temp 和weight均为LL型
    		weight *= transTarget;
    	}
    	return ans;
    }
    
    int main()
    {
    	string inputStr;
    	cin >> inputStr;
    	cout << TransDec(inputStr,16);
    	return 0;
    }
    

    2 .10进制转任意进制

    原理 :输入是一个数(记得考虑是否溢出int)由函数体转换成字符串。

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    string TransHex(int num, int Transtarget )
    {
    	string Templatestr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//最多支持36进			 制转换,后续可以添加
    	string ans = "";
    	if (num == 0)
    		ans = '0';
    	while (num)
    	{
    		ans += Templatestr[num%Transtarget];
    		num /= Transtarget;
    	}
    	reverse(ans.begin(), ans.end());
    	return ans;
    
    }
    int main()
    {
    	int n;
    	cin >> n;
    	cout<<TransHex(n,16);
    	return 0;
    }
    

    3.最简单的10进制转换成其他进制(主要8和16)

    这个输出的是小写字母,不是大写的

    #include<iostream>
    using namespace std;
    int main()
    {
    	int n;
    	cin>>n;
    	cout<<oct<<n<<endl;//8进制   
    	cout<<hex<<n<<endl;//16进制   n = 15 输出f  小写
    }
    
    展开全文
  • 十进制转换成任意进制 c语言

    千次阅读 多人点赞 2019-01-06 18:58:49
    今天搞懂了怎么把十进制转换成任意进制,我试了好几次有时逻辑上没有错误,但是我由于c语言基础不是太好,所以老是出现一些基础错误。以此来记录一下我要写的代码,以后继续铭记。 十进制转换任意进制,递归实现 ...

    今天搞懂了怎么把十进制转换成任意进制,我试了好几次有时逻辑上没有错误,但是我由于c语言基础不是太好,所以老是出现一些基础错误。以此来记录一下我要写的代码,以后继续铭记。
    最近也写了一个十进制转换任意进制–链栈实现
    十进制转换任意进制,递归实现

    void fun(int n,int m)
    {
    	if(n<m)
    	{
    		if(n<10)
    			printf("%d",n);
    		else
    			printf("%c",n-10+'A');
    	}
    	else
    	{
    		fun(n/m,m);
    		if(n%m<10)
    			printf("%d",n%m);
    		else
    			printf("%c",n%m-10+'A');
    	}
    }
    ```c
    十进制转换任意进制,非递归实现
    
    ```c
    const char f[]="0123456789ABCDEF";
    void fun1(int n,int m)
    {
    	int i=0;
    	char a[1000];
    	while(n)
    	{
    		a[i]=f[n%m];
    		n=n/m;
    		i++;
    	}
    	while(i--)
    		printf("%c",a[i]);
    }
    

    总代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    const char f[]="0123456789ABCDEF";
    void fun1(int n,int m)
    {
    	int i=0;
    	char a[1000];
    	while(n)
    	{
    		a[i]=f[n%m];
    		n=n/m;
    		i++;
    	}
    	while(i--)
    		printf("%c",a[i]);
    }
    
    void fun(int n,int m)
    {
    	if(n<m)
    	{
    		if(n<10)
    			printf("%d",n);
    		else
    			printf("%c",n-10+'A');
    	}
    	else
    	{
    		fun(n/m,m);
    		if(n%m<10)
    			printf("%d",n%m);
    		else
    			printf("%c",n%m-10+'A');
    	}
    }
    
    int main()
    {
    	int b,c;
    	scanf("%d %d",&b,&c);
    	fun(b,c);
    	printf("\n");
    	fun1(b,c);
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 十进制转换成二进制,采用的是“除以2求余数”的计算方法,如下所示: “除以2”的过程,得到的余数是从低到高的次序,而需要的带的输出是从高位到低位(35对应的二进制是100011),因此需要一个栈来反转次序 from ...
  • Java——任意进制转换十进制

    千次阅读 2018-10-20 12:09:50
    1. 方法一(调用系统方法)  ... * 任意进制转换 进制 * @author 时光·漫步 * */ public class Test{ public static void main( String args[]) { System.out.print("请...
  • 废话不多上干货! /** * 个人数学工具 * * @author Suage */ class Convert { ... //输入进制 private int sysIn; //输出进制 private int sysOut; //输入实际值 private double actualValue;
  • 十进制转换成任意进制代码,很方便使用和笔试
  • C++任意进制转换十进制

    千次阅读 2018-08-12 16:09:53
    C++任意进制转换十进制 我们知道任意进制转换十进制,都是乘以基数的多少次方,然后相加。 废话不多说直接上代码。 #include&lt;iostream&gt; #include&lt;string&gt; using namespace std; ...
  • 题目:进制转换时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 1819 测试通过 : 525 题目描述将一个十进制数N转换R进制数输出,2≤R≤16,R≠10。输入多行。第一行指出以下一共...
  • 十进制任意进制相与转换,这是用DELPHI程序实现进制转换函数。
  • 十进制任意进制 分析:十进制数 X 转 M 进制,方法是:从 X 开始循环除以 M ,记下余数,整数商作为新的 X 继续除以 M ,直到 X=0 为止。然后倒序取余数即可。 (10 进制转 2 进制) (10 进制转 16 进制)...
  • 进制转换成T进制 给定一个整数Q(2<=Q<=10),一个非空字符串,以及另一个整数T(2<=T<=10), 编程要求过滤掉字符串中所有非Q进制数对应的字符组成一个新的字符串,该字符串无正负号,将该字符串表示的Q...
  • 任意进制转换十进制 – 数据结构c语言队列操作实现 代码也不算是任意进制,最高只能到十六进制。见谅! 代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXSIZE...
  • php 十六进制 十进制 八进制 二进制 进制相互转换 任意进制转换 $hex = 208; //十六进制 $dec = 520; //十进制 $oct = 1010; //八进制 $bin = 1000001000; //二进制 //decbin() //十进制转换为二进制 echo decbin...
  • 任意进制转换

    2021-01-18 14:16:30
    任意进制转换前言一、十进制转换任意进制使用短除法即可二、任意进制转换成十进制代码如下: 前言 进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。 基数是指...
  • C语言进制转换 十进制转换任意进制

    千次阅读 多人点赞 2019-04-13 11:46:20
    C语言小白,上机题“将十进制整数转换任意n进制整数(n<=16)并输出(用递归函数实现,16进制用大写A B C等代替)”的一种解法,欢迎讨论! #include<stdio.h> #include<string.h> int n,r,count; ...
  • 将r进制转换成十进制数ans ll change1(int r,string s)//r进制数转十进制数 { ll len=0,ans=0; while(s.length()!=len) { ans=ans*r; if(s[len]>='A'&&s[len]<='Z') ans=ans+s[...
  • 十进制与自定义任意进制转换代码

    千次阅读 2015-04-29 09:04:25
    有时我们在使用十进制的时候,会有长度过长情况。如加密或传输的过程中,日期数据20141230 使用进制...因此写了一个十进制与任意自定义进制转换的工具类,可以将十进制转换任意进制,也可以让任意进制转换十进制
  • 任意进制转换十进制

    千次阅读 2019-07-19 11:08:33
    公式:数字 × 进制 ×^...十六进制转换十进制:范围[0-9,a-f], 前缀“0x” 0x549fa:5 × 16^4 + 4× 16^3 + 9 × 16^2 + 15 × 16^1 + 10× 16^0=略 十进制转十进制:12345 = 1 × 10^4 + 2 × 10^3 + 3 × 10^...
  • 任意进制转换

    2011-11-30 22:35:34
    任意进制转换器 可以将进制转换任意进制 如3进制 5进制 程序 一看就懂
  • 程序设计引导及在线实践这本书中的进制问题中,有一个关于任意进制转换十进制的算法, long b2ten(char* x, int b) {  int ret = 0;  int len = strlen(x);  for (int i = 0; i  if (x[i]-'0' >= b) ...
  • =16)和正整数n(十进制),任务:输出n的b进制 #include<stdio.h> int main(){ char hex[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; int b, s, n,i=0; int a[100]={0}; scanf...
  • C语言实现十进制任意进制转换代码,已经经过调试无问题。可以直接使用
  • 问题 A: 进制转换 时间限制:1 Sec内存限制:128 MB提交:67解决:28[提交][状态][讨论版] 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入 输入数据共有三行,第一行是一个正整数,表示需要转换的数...
  • 十进制转换成任意进制模板 #include&lt;stdio.h&gt; int main() { int i,b,s; while(~scanf("%d%d",&amp;i,&amp;b)) { if(i&lt;0) //判断正负 { i=-i; printf("-")...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,332
精华内容 36,532
关键字:

任意进制转换成十进制的方法