public function base($n)
    {
        self::mustBeInteger($n, 'Base');
        
        if(!$this->_decimal()->zero) {
            throw new \RuntimeException(
                'Cannot convert to another base from non integer value.'
            );
        }


        $n = is_object($n) ? $n->int : $n;

        if (!is_numeric($n) || $n < 2 || $n > 36) {
            throw new \InvalidArgumentException(
                'Base must be an integer or \Malenki\Bah\N value from 2 '
                .'to 36 inclusive.'
            );
        }

        return new S(
            ($this->value < 0 ? '-' : '') . base_convert($this->value, 10, $n)
        );
    }