任意进制转10进制

Posted 风过杀戮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任意进制转10进制相关的知识,希望对你有一定的参考价值。

十进制中的数位排列是这样的…… 万 千 百 十 个 十分 百分 千分……
R进制中的数位排列是这样的……R^4 R^3R^2 R^1 R^0 R^-1 R^-2 R^-3……
 
所以任意进制转为10进制直接就按权展开就行
即    十进制   9876=9×10^3+8×10^2+7×10^1+6×10^0 = 9000 + 800 + 70 + 6 = 9876
       二进制   1011  =    1×2^3+0×2^2+1×2^1+1×2^0   =  8+2+1  =  11
 
所以直接从最后一位开始,加上每一位的10进制,最终的和就是待转换数的十进制
 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 = change(OldNum, x);
12         System.out.println(num);
13     }
14     public static int change(int n, int x) {
15         int num = 0;
16         int k = 1;
17         while(n!=0) {
18             int m = n % 10;//取最后一位数
19             num += m * k;
20             n = n / 10;
21             k *= x;
22         }
23         return num;
24     }
25 }

 

以上是关于任意进制转10进制的主要内容,如果未能解决你的问题,请参考以下文章

如何将任意长度十六进制转十进制

求十进制转换二进制C语言代码

C语言 将十进制数转化为二进制数 程序代码

python怎样将16进制转化为2进制

任意类型和二进制互转工具类

请教QT中怎么实现10进制数转换为16进制数 最好有代码