整数数制转换

整数数制转换

/**
     * 将十进制整数转换为二进制、八进制或者十六进制等
     *
     * @param origin 要被转换的十进制数
     * @param numSys 目标数制,比如二进制就是2
     * @return 返回值是转换完的数
     */
    public String converse(int origin, int numSys){

        /*
            转换思路:利用栈,用origin对numSys取模,取模的结果压入栈内
            下一次用origin整除numSys的结果做同样的操作
            直到origin整除numSys的结果为零时停止操作
            栈内的数按弹栈的方式,最先出的数是最高位,最低出的数是最低位
         */

        Stack<String> result = new Stack<String>();
        String rs = "";

        while(origin > 0){
            result.push(String.valueOf((origin % numSys)));
            origin = origin / numSys;
        }

        while(!result.empty()){
            rs = rs + result.pop();
        }

        return rs;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值