Я пытался это сделать на Oracle
, используя CONNECT BY
для преобразования двоичного числа в десятичное с помощью простого оператора SELECT
. Наконец, получили желаемый результат, используя приведенный ниже код.
WITH INPUT AS
(SELECT REVERSE('&N') AS X FROM DUAL)
SELECT SUM(TO_NUMBER(SUBSTR(X,LEVEL,1)*POWER(2,LEVEL-1))) AS OUTPUT
FROM INPUT CONNECT BY LEVEL<=LENGTH(X);