精华内容
下载资源
问答
  • 任意进制数转换任意进制...喵
  • 主要介绍了php实现将任意进制数转换成10进制的方法,涉及php数制转换的相关技巧,非常具有实用价值,需要的朋友可以参考下
  • 任意进制数转换.c

    2012-08-24 13:56:51
    该文件的代码可以实现任意进制数的转换。可以从二进制转换为十进制,或者八进制,十六进制,都可以。
  • 题目信息很简单,就是任意给定一个任意进制,然后把它转换成十进制就可以了; 解析代码如下: #include #include int main(){ int n; char str[20]; while (~scanf("%d%s", &n, str)) { printf...


    题目信息很简单,就是任意给定一个任意进制的数,然后把它转换成十进制数就可以了;

    解析代码如下:


    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
        int  n;
        char str[20];
        while (~scanf("%d%s", &n, str)) {
    	printf("%ld\n", strtol(str, NULL, n));
        }
    }

    展开全文
  • 代码题--C++--任意进制转换将十进制数转换任意进制 题目描述 设计一个函数, 可以将任意十进制的转换成任意2到9的进制表示的形式。 输入描述: 需要转换的数字x(0<=x<=1e18) 转换使用的进制k(2<...

    代码题--C++--任意进制间转换将十进制数转换为任意进制


    题目描述

    设计一个函数, 可以将任意十进制的数, 转换成任意2到9的进制表示的形式。

    输入描述:
    需要转换的数字x(0<=x<=1e18) 转换使用的进制k(2<=k<=9)
    输出描述:
    对应进制的结果
    示例1
    输入
    33 2
    输出
    100001

    解题思路:首先要知道怎么算n进制的数,就是将数字除以n每次得到的余数将按n的0次方开始得出的值,然后先用一个长为64的数组存放值,然后从后向前输出数据,就是转换后的数据。

    举例:NUM=13,n=2;

    13%2 = 1; 13/2 = 6;

    6%2   = 0; 6/2   = 3;

    3%2   = 1; 3/2   = 1;

    1%2   = 1; 1/2   = 0;

    输出的二进制值为:1101。

    代码如下:

    #include <iostream>
    using namespace std;
    
    void Turn_n(unsigned long long NUM,unsigned int n)
    {
        int i = 0;
        unsigned long long k = 0;
        unsigned int Turnres[64] = {};
        
        do{
            Turnres[i] = NUM % n;
            NUM /= n;
            i++;
        }while(NUM != 0);
        for(i-- ; i >= 0; i --)//从后向前输出
        {
            cout << Turnres[i];
        }
        cout << endl;
        return ;
    }
    
    int main()
    {
        unsigned long long NUM = 0;
        unsigned int n;
        cin >> NUM >> n;
        Turn_n(NUM,n);
        return 0;
    }

    结果:

    展开全文
  • 将一个十进制数转换任意进制数。(36进制以内) 思路: 先获取转换后的各个位的数值 如将17转换成2进制   转换后最高位: 17 % 2 = 1   次高位: 17 / 2 % 2 = 8 % 2 = 0   次次高位: 17 / 2 /...

    题目:
      将一个十进制数转换成任意进制数。(36进制以内)

    思路:

    • 先获取转换后的各个数位的数值
      如将17转换成2进制
        转换后最高位: 17 % 2 = 1
        次高位: 17 / 2 % 2 = 8 % 2 = 0
        次次高位: 17 / 2 / 2 % 2 = 0
              …
        最低位: 17 / 2 /… / 2 = 0 时的模

    由此可知,10进制转换成N进制,即为不断对N取模

    • 再对数值进行处理
      若余数大于9,则需用A~Z进行替换表示,将对应的数值的字符存入记录转换结果的字符数组中;如11 —>‘B’ = 66 --> 11-10+‘A’
      若余数小于9,则直接存储其数值对应的字符;
      8—>‘8’ = 56 --> 8+‘0’

    实现:

    import java.util.Scanner;
    
    public class toHex {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner reader = new Scanner(System.in);
    		int num = reader.nextInt();
    		int n = reader.nextInt();
    		char th[] = toHex(num,n);
    		for(int i=0;i<th.length;i++)
    		{
    			System.out.print(th[i]);
    		}
    
    	}
    	static char[] toHex(int num,int N)
    	{
    		char ch[] = new char[20];    //受int字节的限制
    		int k = 0;
    		while(num>0)
    		{
    			int t = num % N;
    			if(t>9)
    			{
    				ch[k] = (char)((t-10)+'A');
    			}
    			else
    			{
    				ch[k] = (char)(t+'0');
    			}
    			k++;
    			
    			num = num/N;			
    		}
    		char th[] = new char[k];
    		k = k-1;
    
    		for(int i=0;i<th.length;i++)
    		{
    			th[i] = ch[k--];
    		}
    		return th;
    		
    	}
    
    }
    
    展开全文
  • java将十进制数转换任意进制数

    千次阅读 2017-09-27 16:44:49
    java十进制转换任意进制的实现

    这其实是一道滴滴的校招题,但是感觉还是挺有用的,很多十进制数在某种特定的场合需要被转换为其他任意进制数,比如常见的二进制、八进制、十六进制,也可能会有比较罕见的,比如自定义的三进制数等

    其实网上有很多种实现方式,我的我不是代码量最少的,可能也不是最全面的,但我相信,我的应该是最通俗易懂的。

    话不多说,接下来放上我的代码:

    package demo;


    import java.util.Scanner;


    public class Demo10 {

    public void transform(int num,int n){  

            //参数num为输入的十进制数,参数n为要转换的进制  

            int array[]=new int[100];  

            int count=0;

            int location=0;  

            while(num!=0){//当输入的数不为0时循环执行求余和赋值  

                int remainder=num%n;  

                num=num/n; 

                

                array[location]=remainder;//将结果加入到数组中去  

                location++;  

                count++;

            }

            show(array,location-1,count);  

      

        }  

        private void show(int[] arr,int n,int count){  

        

        

            for(int i=n;i>=0;i--){  

            

            

            

            

            if(arr[i]<0) {

            for(int j=0;j<count-1;j++) {

            arr[j]=Math.abs(arr[j]);

            }

            

            

            }

            if(arr[i]>9||arr[i]<-9){  

                        System.out.print((char)(arr[i]+55));  

                    }  

                    else  

                        System.out.print(arr[i]+"");  

                }  

        }  

        public static void main(String[] args)  

        {  

            // 测试用例  

        Demo10 t=new Demo10(); 

        Scanner sc=new Scanner(System.in);

        String[] str=sc.nextLine().split(" ");

        int[] a=new int[str.length];

        for(int i=0;i<str.length;i++) {

        a[i]=Integer.parseInt(str[i]);

        }

        

            t.transform(a[0], a[1]);  

      

        }  

    }


    相信这段代码还是很多人都能看得懂的,如果有什么不懂的可以评论区里问我。如果有测试用例失败的,也请麻烦评论区里告诉我,我看看能不能完善一下我的代码,使它的功能更加全面。

    展开全文
  • 目录十进制转换为任意进制任意进制转换为十进制 十进制转换为任意进制 //将10进制num转换为d进制 void convert_base(int num, int d) { int k; stack<int> stk; while (num) { k = num % d; num = ...
  • 进制转换任意进制 可以采用除基取余法将十进制整数转换为B进制整数: 将十进制整数除以B,得到商和余数,余数对应为B进制低位的值; 继续让商再除以B,得到商和余数,。。。。。。 重复此操作,直到商为0....
  • 设计一个数值转换函数,能够将一个十进制整数转换成为16进制以内的任意进制数
  • C语言实现任意进制数之间的转换

    万次阅读 多人点赞 2019-08-29 22:11:55
    使用C语言编程实现任意进制数(2-16进制)转换为其他任意进制数(2-16进制),实验平台:vs2015。 #include<stdio.h> #include<string.h> #include<stdlib.h> int TenNum(char a[],int B); //...
  • 任意进制转换为10进制,10进制转换成任意进制,
  • //十进制数转换任意进制,直到商为0 str[i] = '\0'; for (i--, j = 0; j ; j++, i--)//字符串反转 { tmp = str[j]; str[j] = str[i]; str[i] = tmp; } } int main() { char str[30]; myitoa(200, ...
  • 有时需要二进制数超过 52 位的 bin2dec 函数。 代码简短而简单。 输入是一个字符串,即“1000”,输出是一个 1x1 的双精度值。
  • 将10进制数转换任意进制数

    千次阅读 2016-11-22 21:56:29
    要想解决这个问题我们先来看看10进制转2进制的代码 #include main() { int n,i,a[100],j=0; scanf("%d",&n); while (n) //当n为0时,也就是n/2为0时就取余完毕停止循环 { a[j++]=n%2; //将每次的余数放在数组...
  • 《Python数据结构与算法分析》(第二版) pyStack模块 # !/user/bin/env python # coding:utf-8 ...'''十进制转二进制 def dividedBy2(decNumber): remainStack = Stack() while decNumber > 0: ...
  • //十进制任意进制 #include <iostream> #include <stack> using namespace std; void Ten2R(int n, int R) //将十进制n转化为R进制的 { stack<int>q; while (n != 0) { q.push(n%R)...
  • 进制转换
  • 设计算法把一个十进制整数转换为二至九进制之间的任意进制数输出。
  • 使用C语言,和辗转相除法,通过链栈来实现一个十进制数字对任意进制的一个转换
  • 设计算法把一个十进制整数转换为二到九进制之间的任意进制数输出(链式栈)
  • 这里使用递归的解法解决这个问题。代码如下: /* *change ten number to any number by using digui */ #include using namespace std;...void change(int number, ...3./ 和%运算符是拆解一个的最佳拍当;
  • C语言编程练习:二进制转换成十进制,八进制转换成十进制,十六进制转换成十进制,十进制转换成任意进制,任意进制转换成十进制。
  • 任意进制整数的转换,用十进制作为中转,原则上不能超过10进制能表示的最大整数。
  • 【输入】:10 8 【输出】:23 #include <iostream> #include <cstdio> #include <cmath>...using namespace std;...char d[16]={'1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};...
  • 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意: 十六进制中所有字母(a-f)都必须是小写。 十六进制字符串中不能包含多余的前导零。如果要转化的为0,那么以...
  • 任意进制转换10进制和10进制转换成任意进制 1 . 任意进制转10进制 原理 :输入是一个字符串,由函数体转换成数(考虑是否溢出int范围)。 #include<iostream> using namespace std; #include<algorithm>...
  • 作为一个半路出家的C/C++...C++内置的itoa是非常强大的,能够将十进制的int型转换任意进制的字符串输出,利用这一点,实际上任意进制的互相转换利用itoa以及设计一个函数来实现任意进制-》十进制的组合即可。。PS:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 201,474
精华内容 80,589
关键字:

任意进制数的转换