>但し、入力が "0R"とかの場合に>>160とは挙動が変わってしまうが。

まさにこれが負値を無効値にしてる理由じゃないの?