• 任意进制转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 = x2ten(OldNum, x);
    12         System.out.println(num);
    13     }
    14     public static int x2ten(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 }
  • 相关阅读:
    20155239 2016-2017-2 《Java程序设计》第5周学习总结
    学习Java的必要知识点记录
    # 20155226 2016-2017-2 《Java程序设计》第4周学习总结
    随笔三 第三周学习
    第二周学习
    吕宇轩20155239 第一周
    随笔三 安装Linux操作系统
    随笔二
    随笔一
    java动态代理(JDK和cglib)
  • 原文地址:https://www.cnblogs.com/forever-snow/p/9061604.html
Copyright © 2020-2023  润新知