问题描述
用 PHP 实现进制转换
输入: 十进制数
输出: 根据自定义进制(1 < 进制 <= 16)输出相应结果
代码实现
该算法详解请看: C++ 数据结构 (四) 栈与队列 (2) 栈应用 (1) 进制转换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function convert(int $n, int $base) {
$digit = ['0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'A', 'B',
'C', 'D', 'E', 'F'];
$res = '';
while ($n > 0) {
$res = $digit[$n % $base] . $res;
$n = floor($n / $base);
}
return $res;
}
if ($argc > 2) echo convert($argv[1], $argv[2]) . "\n";
else if ($argc == 1) echo convert($argv[1], 10) . "\n";
else echo '请输入待操作数';
本文由
Oscaner
创作, 采用
知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外, 均为本站原创或翻译, 转载前请务必署名