PHP - Binary Conversion

Posted by Oscaner on December 3, 2018

问题描述

用 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 '请输入待操作数';

1.png


本文由 Oscaner 创作, 采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外, 均为本站原创或翻译, 转载前请务必署名