2の補数を求める

 ゲーム作りことはじめとかいうエントリを上げたことを完全に忘れていたので、自分で今ビックリしました。ちなみに全く進んでいません。

 以下、PHPで2の補数を求めるプログラムです。

	function complement($str){

		$len = strlen($str);
		$result = "";
		$carryover = true;

		for($i = $len-1;$i >= 0;$i--){
			$char = substr($str,$i,1);
			switch($char){
				case "0":
					if($carryover){
						$result = "0".$result;
					}else{
						$result = "1".$result;
						$carryover = false;
					}
					break;
				case "1":
					if($carryover){
						$result = "1".$result;
					}else{
						$result = "0".$result;
					}
					$carryover=false;
					break;
				default:
					echo "不正な入力です。";
					die;
			}
		}

		return $result;
	}