java - 将数字转换为用户选择的基数

标签 java radix

我想做一个接受数字和基本系统的东西,这样它将把数字转换为从 2 进制到 16 进制的不同基数的那个数字。

例如stdin 将是 67 和 2,这意味着用户希望程序将数字 67 更改为二进制形式。标准输出将是 1000010 .

所以我首先编写了以下代码来启动它。该程序接受一个数字并将其转换为二进制格式。

public class ChangeofBase { 
    public static void main(String[] args) { 
        // read in the command-line argument
        int n = Integer.parseInt(args[0]); 
        // set v to the largest power of two that is <= n
        int v = 1; 
        while (v <= n/2) {
            v *= 2;
        }
        // check for presence of powers of 2 in n, from largest to smallest
        while (v > 0) {
            // v is not present in n 
            if (n < v) {
                System.out.print(0);
            }

            // v is present in n, so remove v from n
            else {
                System.out.print(1);
                n -= v;
            }
            // next smallest power of 2
            v /= 2;
        }
        System.out.println();
    }
}

如何修改上面的代码来实现下面的功能?

输入一个数字n和一个基地 k这样n将转换为基数 k 中的数字

再一次,k必须介于 2 和 16 之间。以 2 为底数和以 16 为底数。二进制和十六进制。谢谢!

编辑:我想在不使用内置函数的情况下执行此操作。硬编码
编辑 2:我是 Java 的新手。所以我想坚持基本的东西,比如定义变量、while 循环和 foor 循环、if-else 和打印。并解析命令行参数。我相信这就是这个程序所需要的,如果我错了请纠正我

最佳答案

您可以使用 Integer.toString(int i, int radix)。

关于java - 将数字转换为用户选择的基数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061306/

相关文章:

java - JSch 算法协商仅在单元测试中失败

java - java中什么时候使用嵌套内部类?

任何基数的 C++ 乘法

java - 为什么该方法不允许来自 11-15 的输入?

c++ - 你如何选择/什么是散列函数中的基数?

python - 为什么 int() 的基值限制在 36 到 2 之间

c++ - 如何在 C++ 中将指向基类的指针分配给派生类的对象?

java - JADE 代理与 WSIG 集成

java - 无法解析具有不同命名空间的 XML

java - 向导生成的 JPA DAO 方法不返回可迭代列表