Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 464 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/php
<?php

/*
將兩個16進未數值進行運算
*/

#如果不存在要轉換成16進位的數值
if( !isset($_SERVER['argv'][1]) || !isset($_SERVER['argv'][2]) || !isset($_SERVER['argv'][3]) )
{
        #show help
        help();

        #停止執行
        exit;
}

#取得10進位的兩個數字
$num1=base_convert($_SERVER['argv'][1],16,10);
$num2=base_convert($_SERVER['argv'][3],16,10);

#取得運算符號
$op=$_SERVER['argv'][2];

#判斷運算符號
switch($op)
{
        #如果是加法
        case "+":
                        $result=$num1+$num2;
                break;
                
        #如果是減法
        case "-":
                        $result=$num1-$num2;
                break;
                
        #如果是乘法
        case "x":
                        $result=$num1*$num2;
                break;
                
        #如果是除法        
        case "/":
                        $result=$num1/$num2;
                break;
                
        #其他運算符號
        default:
        
                #show help
                help();
                
                #停止執行
                exit;
}

#印出 16 進位的數值
echo sprintf('%X',$result).PHP_EOL;

#help function
function help()
{
        echo $_SERVER['argv'][0]." 16進位數值 [+,-,*,/] 16進位數值".PHP_EOL;
}

?>