十进制转任意进制

运用短除法

上图为转换为二进制的过程,转换为x进制就将2换成x。

 1 import java.util.Scanner;
 2
 3 public class Change {
 4
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         Scanner cin = new Scanner(System.in);
 8         System.out.print("输入待转换的数和待转换的进制:");
 9         int OldNum = cin.nextInt();//待转换成10进制的数
10         int x = cin.nextInt();//待转换数的进制
11         int num = ten2x(OldNum, x);
12         System.out.println(num);
13     }
14
15     public static int ten2x(int n, int x) {
16         int num = 0;
17         int k =1;
18         while(n!=0) {
19             int m = n % x;
20             num += m*k;
21             n = n / x;
22             k *= 10;
23         }
24         return num;
25     }
26 }

原文地址:https://www.cnblogs.com/forever-snow/p/9061726.html

时间: 2024-10-31 13:26:36

十进制转任意进制的相关文章

十进制转任意进制数

//十进制转任意进制 #include <iostream> #include <stack> using namespace std; int main() { int T; int n, a, p; cin >> T; while (T--) { stack<int> s; //n 为十进制,p为要转换的进制 cin >> n >> p; while (n) { a = n % p; s.push(a); n /= p; } wh

2.9 十进制到任意进制的转换

得到下面数据的二进制,十进制,十六进制 52分别得到二进制,十进制,十六进制 得到二进制: 52 / 2 = 26 0 26 / 2 = 13 0 13 / 2 = 6      1 6  / 2 = 3      0 3  / 2 = 1      1 1  / 2 = 0      1 0b110100 得到八进制: 52 / 8 = 6 4 6  / 8 = 0      6 064 得到十六进制: 52 / 16 = 3 4 3  / 16 = 0 3 0x34

进制转换模板 (十进制 &lt; == &gt; 任意进制 )

/*任意进制 转 十进制 **********************************************/ int pow(int n,int time) { int ans=1; for(int i=1;i<=time;i++) ans*=n; return ans; } int change_any_to_10(char *s,int type) { int ans=0; int len = strlen(s); for(int i=0;i<len;i++) { if(s[i

(HDUStep 1.2.6)decimal system(任意进制转十进制)

题目: decimal system Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3622 Accepted Submission(s): 1419   Problem Description As we know , we always use the decimal system in our common life, even us

C++实现将十进制数转换为小于等于九的任意进制

//十进制转换为小于等于九的任意进制数 #include<iostream> #include<string> #include<stack> using namespace std; stack<int> num; void change(int N,int M) { if(N<0||M<=1) { cout<<"error!"<<endl; return; } while(N>0) { num

递归 将一个十进制数转化为任意进制字符串

Create All kinds of guns. 设计重点: 1 基类作接口 2 继承类是各种不同的类 3 构建工厂类,然后根据需要创造不同的类,可以传入关键字,或者索引等. #pragma once #include <string> #include <iostream> using namespace std; //Base class class Gun { public: virtual string description() { return "Gener

python 十进制转换成任意进制

记得大学时代,参加学校举行的编程大赛,其中有道题是: 编写一函数,实现十进制转换成十六进制. 看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情:时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道题.下面使用两种方法分别实现: 一.循环 def decimalToNBaseByNormal(decimalVar, base): tempList = [] temp = decimalVar

NOJ 1012 进制转换(十进制转换成任意进制)

题目: 进制转换 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 1819            测试通过 : 525  题目描述 将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10. 输入 多行.第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10. 输出 多行.每行给出转换后的R进制数. 样例输入 37 223 12-4 

任意进制转换算法

任意进制转换算法 N年没有写博客,发个进制转换的玩下,支持负数:功能属于简化版的 Convert.ToInt32 ,特点是: 1.任意位,如:0,1(二进制),0...7(八进制),0...9,A...F(16进制),0...N(N进制),或者是:[email protected]#$%^&*(8进制,字符符号),也可以是中文. 2.8 byte 最大长度. 3.C#源码. 最近写markdown格式习惯啦,cnblogs啥时候全改掉算了,别用这个htmleditor算了. 先说明下进制转换的基